Список таблиц в ADO

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

27 сен 2007, 11:05

Собственно требуется получить спискок таблиц используя ADO (ActiveX Data Objects) в С++(используется MS VS2005). Есть подобный код, делающий это на VB. Побробывал его переписать - неработает :( . Подскажить как собственно этот код написать.
BBB
Сообщения: 1272
Зарегистрирован: 27 дек 2005, 13:37

27 сен 2007, 15:25

Код на VB - в студию!?
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

27 сен 2007, 15:46

Вот собственно:

Private mvarTables As New StringList 'собственный класс для работы со строками
...
Set data = New ADODB.Connection
With data
mvarTables.Clear
If .State <> adStateClosed Then .Close
.ConnectionString = "Provider=microsoft.jet.OLEDB.4.0;Data Source=" & FileName & ";User ID=" & xset.Login & ";Password=" & xset.Password & ";"
.Open
Set list = .OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "TABLE"))
End With
DataMembers.Clear
DataMembers.Add "!__LIST"
list.MoveFirst
Do Until list.EOF = True
mvarTables.Add list("TABLE_NAME")
list.MoveNext
Loop
CurrentTable = mvarTables.Item(1)

Вызывает сложность выделенное жирным - преобразование в обычный массив не помогает. Хотя нашел еще один вариант - может быть будет работать :)
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

27 сен 2007, 21:10

Все решение проблемы нашел. Покопался в одном из прошлых MSDN. Как раз с этим сейчас проблем нет... :)
Ответить