powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по АДО
18 сообщений из 18, страница 1 из 1
Вопрос по АДО
    #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
Вопрос по АДО
    #34082355
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Вопрос по АДО
    #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
Вопрос по АДО
    #34083387
Azeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нельзя с помошью обычного Microsoft ActiveX Data Objects 2.0 Library на VB 6.0 а не на VB.NET (как я понимаю ADOX это ADO.NET).
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083457
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторкак я понимаю ADOX это ADO.NET).
Не правильно понимаешь. Щас VB под рукой просто нет, а на память библу точно не скажу. Что то типа ... ADO Extention ...
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083458
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. ADOX это не VB.Net
2. ADO 2.0 давно устарел
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083471
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ADO Library, есть еще ADO Extension Library, создание и изменение структуры базы делается с помощью ADO Extension Library, т.е. ADOX с помощью объекта Catalog
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083478
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Azeke(как я понимаю ADOX это ADO.NET).
Нет не так. Библиотеку ADOX можно использовать и с 6 версией. Ее полное название: "Microsoft ADO Ext. 2.7 for DDL and Security". Подключи ее в Project->References и работай.
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083491
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)) Во как дружно то все появились. :)
З.ы. Извините за офф-топ.
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083518
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyMp:)) Во как дружно то все появились. :)
З.ы. Извините за офф-топ.
ну во время просмотра нажимаешь Ответить и пишешь ответ, как нажимаешь Опубликовать и просматриваешь сообщение поста, оказывается что до тебя уже добавили ;)
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34083576
Azeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем. Здорово помогли. Щас буду пробовать.
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34085708
Azeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
привет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34085722
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Azekeпривет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
ну это не с помощью ADOX, а уже ADO, в google поищи есть куча примеров
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34085738
Azeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Че придется прыгать с ADOX на ADO все время. Создание таллиц и полей на ADOX а заполнение их на ADO что-ли. А нельзя по проще.
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34085743
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orunbek Azekeпривет всем.
Вопрос теперь возник у меня такой.
Создал таблицу и поля в ней с помощью ADOX теперь необходимо ввести данные в эти поля. Как можно это сделать с помощью ADOX.
Мне нужно после создания таблицы прогрммно заполнить ее определенными данными.
ну это не с помощью ADOX, а уже ADO, в google поищи есть куча примеров
и еще совет, если уже другяа проблема, то создай новый пост с соотвествующим названием, но прежде поищи хотя бы сети, потом в sql.ru, и если не получится задай вопрос
...
Рейтинг: 0 / 0
Вопрос по АДО
    #34085792
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЧе придется прыгать с ADOX на ADO все время. Создание таллиц и полей на ADOX а заполнение их на ADO что-ли. А нельзя по проще.
Microsoft ADO Ext. 2.7 for DDL and Security. Ext - Extention, о чем нибудь говорит?
...
Рейтинг: 0 / 0
Вопрос по АДО
    #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
Вопрос по АДО
    #34087317
AndreyMp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://]www.microsoft.com/Rus/Msdn/Activ/MSVB/Archive/DataAccess/Default.mspx
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вопрос по АДО
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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