A
Alex_Bamuner
Всем привет!
Второй день бъюсь над одним и тем же. Работаю в Visual C++ 6.0. Подключаю базу .mdb. Для отображения данных использую Microsoft DataDrid Control и Microsoft ADO Data Control. Код для отображения базы вполне прост и работоспособен:
CAdodc ca;
m_ca.Create(_T("STATIC"), "База данных", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 111);
ca.ShowWindow(SW_HIDE);
сa.SetConnectionString("DSN=REP");
ca.SetRecordSource("SELECT * FROM Report.TRKREP");
ca.Refresh();
cr=m_ca.GetRecordset();
cmg.Create(_T("STATIC"), "База данных", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 1111);
cmg.CDataGrid::SetCaption("База данных");
cmg.SetRefDataSource(cr);
cmg.SetRowHeight(17);
cmg.UpdateData();
В итоге на формочке появляется красивый DataGrid с данными из базы.
Но встал вопрос о редактировании данных и занесении изменений обратно в базу. Вот это-то и не соображу как сделать! Если просто отредактировать ячейки и закрыть формочку, то вылезает сообщение "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения".
Расскажите, а лучше - покажите , как мне делать обновление данных. Очень нужно! ОТЗОВИТЕСЬ!!!
Спасибо!
Да, и вот что еще забыл сказать. Для обновления я вызываю CDataDrid::SetDataChanged(true);
С базой dbf все работает четко. Но стоит заменить её на mdb, как начинает вылетать это сообщение о строке обновления. Вот.
Второй день бъюсь над одним и тем же. Работаю в Visual C++ 6.0. Подключаю базу .mdb. Для отображения данных использую Microsoft DataDrid Control и Microsoft ADO Data Control. Код для отображения базы вполне прост и работоспособен:
CAdodc ca;
m_ca.Create(_T("STATIC"), "База данных", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 111);
ca.ShowWindow(SW_HIDE);
сa.SetConnectionString("DSN=REP");
ca.SetRecordSource("SELECT * FROM Report.TRKREP");
ca.Refresh();
cr=m_ca.GetRecordset();
cmg.Create(_T("STATIC"), "База данных", WS_CHILD | WS_VISIBLE, CRect(0, 0, 400, 200), this, 1111);
cmg.CDataGrid::SetCaption("База данных");
cmg.SetRefDataSource(cr);
cmg.SetRowHeight(17);
cmg.UpdateData();
В итоге на формочке появляется красивый DataGrid с данными из базы.
Но встал вопрос о редактировании данных и занесении изменений обратно в базу. Вот это-то и не соображу как сделать! Если просто отредактировать ячейки и закрыть формочку, то вылезает сообщение "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения".
Расскажите, а лучше - покажите , как мне делать обновление данных. Очень нужно! ОТЗОВИТЕСЬ!!!
Спасибо!
Да, и вот что еще забыл сказать. Для обновления я вызываю CDataDrid::SetDataChanged(true);
С базой dbf все работает четко. Но стоит заменить её на mdb, как начинает вылетать это сообщение о строке обновления. Вот.