Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > VC2003, ADO, MSSQL


Автор: nicvc 8.2.2007, 20:14
VC2003, ADO, MSSQL
Какой Grid использовать и какой способ доступа.

Покопал интернет – нет ясности в том, что могут гриды.
В основном используется DataGrid, DBGrid, FlexGrid, Hierarchical FlexGrid.
Нужен грид, в ячейках которого можно было бы видеть списки, а также
чтобы можно было работать со строками, столбцами, ячейками (выделять,
контекстное меню и т.п). И если возможно, то подъем и опускание строк
(хотя такое скорее всего только кодом можно сделать).  

Способ доступа через ADO тоже не ясен.
Используется ADO Data Control (исп. только с DataGrid Control’ом)
и DLL-ки  msado15.dll, msado21.dll и что-то работает через DSN,
а что-то через строку подключения (OLEDB).

Посоветуйте вариант или чем руководствоваться при выборе.
Заранее благодарен.

Для информации:
Таблицы будут не только MSSQL (м/б разные базы и серверы), но также Excel и Access.

Автор: kovadm 9.2.2007, 11:26
Я использую CListView, там можно приделать чё хочешь, на www.codeproject.com полно классов на базе CListView с кучей всяких фич (сортировка, чекбоксы и т.п) 

По поводу подключения к базе  смотри сэмплы Program Files\Microsoft SQL Server\80\Tools\DevTools\Samples\ado\cpp\employee
имхо там всё понятно, я сам с этого начал... 

Также рекомендую RSDN  там есть примеры типа inst/del/edit с табоицами через адо ну и само собой MSDN (без этого никак...)

Автор: nicvc 9.2.2007, 19:08
Благодарю. Дельно и кстати. На grid глаза открылись.

Посмотрел сэмплы – сделано через msado15.dll. 
Я уже сам склонялся к этому, но беспокоит проблема скорости:
через msado15.dll соединение идет через DSN, а это сродни ODBC
(т.е. низкие скорости). И многопоточность не поможет.  
Вот и думаю либо пройти путь через msado15.dll, либо сразу 
перескочить на следующий уровень (другой способ (более быстрый)).
Но я его не знаю – может кто знает, подскажите.

И еще такие же проблемы с деревом (TreeView).
Порекомендуйте – либо дерево с панели, либо ActiveX использовать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)