Второй день уже бьюсь на такой вроде бы простой задачей: нужно создать приложение на основе single document, в рабочее поле поместить CListView, и заполнить список из базы данных(*.mdb). БД большая – несколько десятков тысяч записей. Я вроде бы все сделал, но работает он уж очень медленно
Я хотел бы вас попросить помочь с примером: никаких наворотив не надо – нужен самый простой проект, в котором идет чтение БД из файла *.mdb, и вносят прочитанные данные в список. Думаю, что для опытных программистов это не составит труда.
Заранее спасибо за помощь.
PS: плз, скиньте исходники примера на grey109@yandex.ru
Здравствуйте, grey109, Вы писали:
G>Второй день уже бьюсь на такой вроде бы простой задачей: нужно создать приложение на основе single document, в рабочее поле поместить CListView, и заполнить список из базы данных(*.mdb). БД большая – несколько десятков тысяч записей. Я вроде бы все сделал, но работает он уж очень медленно G>Я хотел бы вас попросить помочь с примером: никаких наворотив не надо – нужен самый простой проект, в котором идет чтение БД из файла *.mdb, и вносят прочитанные данные в список. Думаю, что для опытных программистов это не составит труда.
G>Заранее спасибо за помощь.
G>PS: плз, скиньте исходники примера на grey109@yandex.ru
Здравствуйте, grey109, Вы писали:
G>>>PS: плз, скиньте исходники примера на grey109@yandex.ru
B>>А нужен именно CListView?
G>Желательно, а что с ним что-то не так?
Просто можно былобы использовато какой-нибудь грид контрол, присоединить к нему базу данных, и отображать записи.
Здравствуйте, Bingin, Вы писали:
B>Здравствуйте, grey109, Вы писали:
G>>>>PS: плз, скиньте исходники примера на grey109@yandex.ru
B>>>А нужен именно CListView?
G>>Желательно, а что с ним что-то не так?
B>Просто можно былобы использовато какой-нибудь грид контрол, присоединить к нему базу данных, и отображать записи.
А еще вопрос, каким способом ты берешь данные из базы?
Где то на этом сайте лежала статья про виртуальный грид.
Она как раз помоему про использование CListView для отображения множества записей.
Не поленись, поищи в разделе "Статьи"
Здравствуйте, grey109, Вы писали:
B>>>Просто можно былобы использовато какой-нибудь грид контрол, присоединить к нему базу данных, и отображать записи.
G>Хм... надо будет по пробовать.
Я сам пользуюсь Stingray Objective Grid посмотреть можно тут http://www.roguewave.com/products/stingray/objectivegrid/
Конкретного исходника не приведу, там довольно просто все, после всей его установки в VC добавится несколько AppWizard'ов один из нах быдет DAO Grid AppWizard, после создания проека сразу все будет работать
B>>А еще вопрос, каким способом ты берешь данные из базы?
G>CDaoDatabase database; G>CDaoRecordset recordset(&database); G>database.Open("d:\\db1.mdb"); G>CString SqlCmd = "Select * from table1"; G>recordset.Open(dbOpenDynaset, SqlCmd);
G>...
G>recordset.MoveFirst();
C>Где то на этом сайте лежала статья про виртуальный грид. C>Она как раз помоему про использование CListView для отображения множества записей. C>Не поленись, поищи в разделе "Статьи"
"Использование ListView в режиме виртуального списка"? Если да, то я это уже видел. Похоже у меня проблема в заполнении списка... Может кто подскажет как и в каком месте его правильно заполнить из файла БД?
Здравствуйте, grey109, Вы писали:
G>Похоже у меня проблема в заполнении списка... Может кто подскажет как и в каком месте его правильно заполнить из файла БД?
Не знаю, как насчет "правильно", но я обычно после создания list view control'а пускаю отдельный поток, в функцию которого передается его HWND. А из потока после чтения каждой записи, вызывается PostMessage(), закидывающая данные в список.
SDB>Не знаю, как насчет "правильно", но я обычно после создания list view control'а пускаю отдельный поток, в функцию которого передается его HWND. А из потока после чтения каждой записи, вызывается PostMessage(), закидывающая данные в список.
Здравствуйте, grey109, Вы писали:
B>>Я сам пользуюсь Stingray Objective Grid посмотреть можно тут http://www.roguewave.com/products/stingray/objectivegrid/
G>Чего-то у меня сайт не грузится Тебя не затруднит прислать дистрибутив этого objectivegrid на мыло grey109@yandex.ru ?
G>2SchweinDeBurg: спасибо за пример, буду сейчас в не разбираться.
Здравствуйте, grey109, Вы писали:
B>>Он слицком здоровый 28Мб
G>Ого! Ладно, тогда может подскажешь название файла дистрибутива, я сам попробую его найти и скачать.