Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по АДО / 18 сообщений из 18, страница 1 из 1
26.10.2006, 09:54
    #34082342
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Привет.
У мея вот такая проблема.
Хочу в VB при доступе к базе данных с DAO перейдти на ADO. У меня в старой программе есть код создание таблицы в базе и уже в этой таблице создаю поля:

Private db as database
Private td as TableDef
Private f as field

Private Sub cmdCreate_Click()

Set db=DBEngine.CreateDatabase("..\newdb.mdb", dbLangGeneral)
Set td =New TableDef

Set f=td.CreateField("NV", dbtext, 50)
td.Fields.Append f

Set f=td.CreateField("pogr", dbtext, 50)
td.Fields.Append f

td.Name="tblM70"
db.TableDefs.Append td

Set db=Nothing

Вот как можно такуюже программу сделать на ADO. Я порылся в свойствах ADO ничего похожего не нащел. Нет свойств для создания таблиц и полей в них.
...
Рейтинг: 0 / 0
26.10.2006, 09:59
    #34082355
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
...
Рейтинг: 0 / 0
26.10.2006, 10:04
    #34082374
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Можно с помощью библиотеки ADOX.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Public Sub CreateAccessDatabaseWithAdox()
    Dim cat As ADOX.Catalog
    Dim tbl As ADOX.Table
    Dim strDbName As String
    
    strDbName = "D:\1\db10.mdb"
    
    Set cat = New ADOX.Catalog
    Set tbl = New ADOX.Table
    
    cat.Create _
      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDbName
    
    With tbl
        .Name = "Table1"
        Set .ParentCatalog = cat
        .Columns.Append "ID", adInteger
        .Columns("ID").Properties("AutoIncrement") = True
        .Columns.Append "TextField", adVarWChar,  255 
        .Columns.Append "DateField", adDate
        .Columns.Append "MemoField", adLongVarWChar
        .Columns.Append "OleField", adLongVarBinary
    End With

    cat.Tables.Append tbl

    Set tbl = Nothing
    Set cat = Nothing
End Sub
...
Рейтинг: 0 / 0
26.10.2006, 13:22
    #34083387
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
А нельзя с помошью обычного Microsoft ActiveX Data Objects 2.0 Library на VB 6.0 а не на VB.NET (как я понимаю ADOX это ADO.NET).
...
Рейтинг: 0 / 0
26.10.2006, 13:31
    #34083457
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
авторкак я понимаю ADOX это ADO.NET).
Не правильно понимаешь. Щас VB под рукой просто нет, а на память библу точно не скажу. Что то типа ... ADO Extention ...
...
Рейтинг: 0 / 0
26.10.2006, 13:32
    #34083458
Melkiades
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
1. ADOX это не VB.Net
2. ADO 2.0 давно устарел
...
Рейтинг: 0 / 0
26.10.2006, 13:34
    #34083471
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Есть ADO Library, есть еще ADO Extension Library, создание и изменение структуры базы делается с помощью ADO Extension Library, т.е. ADOX с помощью объекта Catalog
...
Рейтинг: 0 / 0
26.10.2006, 13:35
    #34083478
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Azeke(как я понимаю ADOX это ADO.NET).
Нет не так. Библиотеку ADOX можно использовать и с 6 версией. Ее полное название: "Microsoft ADO Ext. 2.7 for DDL and Security". Подключи ее в Project->References и работай.
...
Рейтинг: 0 / 0
26.10.2006, 13:38
    #34083491
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
:)) Во как дружно то все появились. :)
З.ы. Извините за офф-топ.
...
Рейтинг: 0 / 0
26.10.2006, 13:44
    #34083518
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
AndreyMp:)) Во как дружно то все появились. :)
З.ы. Извините за офф-топ.
ну во время просмотра нажимаешь Ответить и пишешь ответ, как нажимаешь Опубликовать и просматриваешь сообщение поста, оказывается что до тебя уже добавили ;)
...
Рейтинг: 0 / 0
26.10.2006, 13:57
    #34083576
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Спасибо всем. Здорово помогли. Щас буду пробовать.
...
Рейтинг: 0 / 0
27.10.2006, 08:29
    #34085708
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
привет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
...
Рейтинг: 0 / 0
27.10.2006, 08:41
    #34085722
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Azekeпривет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
ну это не с помощью ADOX, а уже ADO, в google поищи есть куча примеров
...
Рейтинг: 0 / 0
27.10.2006, 08:53
    #34085738
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Че придется прыгать с ADOX на ADO все время. Создание таллиц и полей на ADOX а заполнение их на ADO что-ли. А нельзя по проще.
...
Рейтинг: 0 / 0
27.10.2006, 08:54
    #34085743
orunbek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
orunbek Azekeпривет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
ну это не с помощью ADOX, а уже ADO, в google поищи есть куча примеров
и еще совет, если уже другяа проблема, то создай новый пост с соотвествующим названием, но прежде поищи хотя бы сети, потом в sql.ru, и если не получится задай вопрос
...
Рейтинг: 0 / 0
27.10.2006, 09:22
    #34085792
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
авторЧе придется прыгать с ADOX на ADO все время. Создание таллиц и полей на ADOX а заполнение их на ADO что-ли. А нельзя по проще.
Microsoft ADO Ext. 2.7 for DDL and Security. Ext - Extention, о чем нибудь говорит?
...
Рейтинг: 0 / 0
27.10.2006, 10:04
    #34085904
Ashton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
Что значит прыгать с ADOX на ADO. Тебе достаточно подключить эти две библиотеки и пользоваться их объектами.

По поводу добавления данных с помощью ADO.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Public Sub AddDataWithAdo()
    Dim cnn As ADODB.Connection
    Dim strDbName As String
    Dim strSQL As String
    
    strDbName = "D:\1\db10.mdb"
    
    strSQL = "INSERT INTO Table1 ( TextField, DateField, MemoField ) VALUES (" _
      & "'Text', #10/27/2006#, 'Large Text')"
    
    Set cnn = New ADODB.Connection
    
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDbName _
      & ";User Id=admin;Password=;"

    cnn.Execute strSQL
    
    cnn.Close
    Set cnn = Nothing
End Sub

Можно через рекордсет добавлять данные. Но считается, что лучше избегать использование рекордсетов, там, где можно.

По поводу создания таблиц, можешь еще прочитать статью от мелкософта - Creating and Modifying Access Tables .
...
Рейтинг: 0 / 0
27.10.2006, 15:04
    #34087317
AndreyMp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по АДО
http://]www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/DataAccess/Default.mspx
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по АДО / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]