Простая задачка на БД на VC++
От: destroy  
Дата: 19.01.05 18:10
Оценка:
Нужно срочно немного кода, для решения след. задачки (на Visual C++):

исходные данные: имеется в наличии база в формате Access заранее известной структуры. Нужно вывести на экран содержимое всех записей таблицы имя которой задаёт пользователь.

Проблемма в том, как использовать CDatabase,чтобы отобразить записи из таблицы?
спасибо.
Re: Простая задачка на БД на VC++
От: SexMachine Украина www.is.svitonline.com/sashko1
Дата: 19.01.05 21:56
Оценка:
Здравствуйте, destroy, Вы писали:

D>Нужно срочно немного кода, для решения след. задачки (на Visual C++):


D>исходные данные: имеется в наличии база в формате Access заранее известной структуры. Нужно вывести на экран содержимое всех записей таблицы имя которой задаёт пользователь.


D>Проблемма в том, как использовать CDatabase,чтобы отобразить записи из таблицы?


Тоже мне проблема. 15 минут включая отладку ;) . Смотри сюда:
CDaoDatabase, CDaoRecordset, CDaoRecordset::MoveFirst, CDaoRecordset::MoveNext, CDaoRecordset::IsEOF

Порождаешь классы от CDaoRecordset для каждой таблицы. Используешь для этого визарда.
У кого-то варит голова, у кого-то — желудок...
Re[2]: Простая задачка на БД на VC++
От: algol Россия about:blank
Дата: 19.01.05 22:54
Оценка: :)
Здравствуйте, SexMachine, Вы писали:

D>>Проблемма в том, как использовать CDatabase,чтобы отобразить записи из таблицы?


SM> Тоже мне проблема. 15 минут включая отладку . Смотри сюда:

SM>CDaoDatabase, CDaoRecordset, CDaoRecordset::MoveFirst, CDaoRecordset::MoveNext, CDaoRecordset::IsEOF
SM>Порождаешь классы от CDaoRecordset для каждой таблицы. Используешь для этого визарда.

С одной поправкой — слово DAO нужно везде выкинуть.
Re: Простая задачка на БД на VC++
От: destroy  
Дата: 20.01.05 15:12
Оценка:
Хорошо. Допустим я связал CDatabase с БД через CDatabase::Open(), а как мне получить количество имеющихся в ней таблиц и их имена, чтобы потом связать их с CRecordSet-ами?
Re[2]: Простая задачка на БД на VC++
От: algol Россия about:blank
Дата: 20.01.05 15:35
Оценка:
Здравствуйте, destroy, Вы писали:

D>Хорошо. Допустим я связал CDatabase с БД через CDatabase::Open(), а как мне получить количество имеющихся в ней таблиц и их имена, чтобы потом связать их с CRecordSet-ами?


Для DAO есть CDaoDatabase::GetTableDefCount и CDaoDatabase::GetTableDefInfo. Для ODBC нужно использовать функции API. Пример есть в MFC sample CATALOG.
Re[3]: Простая задачка на БД на VC++
От: destroy  
Дата: 20.01.05 16:16
Оценка:
Здравствуйте, algol, Вы писали:

A>Здравствуйте, destroy, Вы писали:


D>>Хорошо. Допустим я связал CDatabase с БД через CDatabase::Open(), а как мне получить количество имеющихся в ней таблиц и их имена, чтобы потом связать их с CRecordSet-ами?


A>Для DAO есть CDaoDatabase::GetTableDefCount и CDaoDatabase::GetTableDefInfo. Для ODBC нужно использовать функции API. Пример есть в MFC sample CATALOG.


Ээээ... а где мне найти этот пример CATALOG? у себя везде порыскал — не нашёл. Может подскажите, какие API функции?
Re[4]: Простая задачка на БД на VC++
От: destroy  
Дата: 20.01.05 16:33
Оценка:
А, всё, наткнулся на этот пример в MSDN-е.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.