глюки с DBGrid'ом
От: The Angry Angel  
Дата: 18.11.02 16:47
Оценка:
Доброго утра (дня, вечера, ночи) всем.

Пишу на VC++ приложение, в котором пользователь должен вводить/удалять/редактировать записи в БД.
Для доступа к самой БД (Access через ODBC) использую Microsoft RDO Data Control, а для отображения DBGrid. Сразу хочу сказать, что пробовал и оледэбэшный Microsoft ADO Data Control (Ver. 6.0) с не менее оледэбэшным Microsoft DataGrid Control (Ver 6.0) – результат тот же, а именно – неадекватное поведение грида. При добавлении полей (“Allow Add New” у грида стоит тру) единообразным способом (т.е. по нормальному, безо всяких ухищрений) происходит так называемый “Data Access Error”, о чем радостно сообщается каждый раз при попытке что-либо сделать. При многопотоковом редактировании записей (т.е. бешенный клик по всему гриду с не менее бешенным долблением по клавиатуре ) происходит либо тот же эррор с дата аксесом, либо еще более интересное сообщение о невозможности одновременного апдейта множественной выборки (Could not update multiple selection). И напоследок – при нажатии эскейпа грид самым элегантным образом убирается с экрана, заставляя тем самым проваливаться многочисленные ассерты дебаг версии. Еще есть глюк при отображении пустой (и только пустой) таблицы – записи добавляются, но в гриде не отображаются. Однако это решается добавление в пустую таблицу пустую же запись. Это конечно не всё, но уже вполне достаточно.
Надо заметить, что все эти глюки встраиваются по умолчанию и не требуют от программиста ни единой строчки кода. Более того, последовательность действий была согласована с книгой издательства Microsoft Press – Desktop Applications with VC++ (Русская редакция), которая на 100% коррелирует с MSDN.
Вопросы стандартные – кто виноват (любимый ахсекс, его ODBC драйвер, дата контрол, сам грид или А.С. Пушкин) и что делать?

Заранее благодарен, The Angry Angel.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.