Всем добрых суток!
Впервые такое, и не могу понять, в чём полтергейст:
База, локальная например с таблицей Users (FIO,post,store,pass). В приложении на С++ Builder Подключаюсь через ODBC и компонентами DataSet + DataSource выводу таблицу в DBgrid.. всё как всегда.
Делаю запрос UPDATE или INSERT или DELETE по средствам ADOquery, после чего делаю сброс DataSet, например:
Form2->ADOQuery3->Active = false;
Form2->ADOQuery3->SQL->Clear();
Form2->ADOQuery3->SQL->Add("UPDATE les.\042Users\042 SET \042post\042='");
Form2->ADOQuery3->SQL->Add(DBLookupComboBox1->Text+",\042pass\042="+Edit2->Text+",\042store\042=");
Form2->ADOQuery3->SQL->Add(DBLookupComboBox2->Text+" WHERE \042Users\042.\042FIO\042='"+strFIO+"';");
try
{
Form2->ADOQuery3->ExecSQL();
}
catch(...)
{
ShowMessage("Не удалось отредактировать данные, возможно заполнены не все поля");
}
Form2->ADODataSet1->Active = false;
Form2->ADODataSet1->Active = true;
Form2->Button5Click(Form2);
В итоге что происходит: Запись фактически заносится в базу и в базе есть, но в приложении новой строки нет. Даже если закрыть его и заново открыть.
Другой вариант: в PFAdmin заношу ручками новую запись, всё заносится, запускаю приложение - все три записи статичны что бы я не делал с таблицей.. такая байда со всеми таблицами, ощущение что в определённый момент приложение взяло себе слепок и пофиг ей на базу((
Подключение ODBC проверял, пробовал делать связку ADOConnection+DataSet+DataSource - та же история.. Не понимаю.. Впервые такое..