• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Проблема при работе с Datagrid

  • Автор темы Alex_Bamuner
  • Дата начала
Статус
Закрыто для дальнейших ответов.
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 с данными из базы.
Но встал вопрос о редактировании данных и занесении изменений обратно в базу. Вот это-то и не соображу как сделать! Если просто отредактировать ячейки и закрыть формочку, то вылезает сообщение "Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения".
Расскажите, а лучше - покажите :D , как мне делать обновление данных. Очень нужно! ОТЗОВИТЕСЬ!!!
Спасибо!

Да, и вот что еще забыл сказать. Для обновления я вызываю CDataDrid::SetDataChanged(true);
С базой dbf все работает четко. Но стоит заменить её на mdb, как начинает вылетать это сообщение о строке обновления. Вот. ;)
 
?

????

для начала просмотри всё на например
 
A

Alex_Bamuner

Да я, собственно, и нашел на firststeps этот способ просматривать данные из базы. И с dbf всё работает шикарно. Но при попытке сделать тоже самое с mdb - ошибка, о которой я написал.
Если знаете, как надо сделать,что дописать для случая с mdb - подскажите!!!!
 
A

Alex_Bamuner

Ну, господа программисты! нужели никто не работал с такими вещами? Задача-то кажется очень распространенной - заносить изменения в базу из DataGrid Control. Очень рассчитываю на вашу помощь, так как у меня идеи закончились... :blink:
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!