Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Базы данных > Неполучается сохранить данные


Автор: OSV 15.5.2006, 15:39
Не получается сохранить данные.
Например хочу поле "Pol" занести цифру 100:

Код

ADOTable1->Edit();
ADOTable1->FieldByName("Pol")->AsFloat=100;
ADOTable1->Post();


Пишит:
"Project Project1.exe" raised exception class EOleException with msessage 'Не удается найти строку для обновления. Некоторые значения могли быть изменены со времени ее последнего чтения'.


Как от этого избавится?  smile    

 

Автор: OSV 15.5.2006, 16:26
Базу данных я использую mySQL 

Автор: bas 15.5.2006, 16:58
http://delphiworld.narod.ru/base/db_cursors_in_ado.html 

Автор: OSV 16.5.2006, 13:33
Если значение присваиваеш другое, то получается. А если точно такое же то нет  smile  

Автор: Visitor 30.5.2006, 09:04
пробуй вместо AsFloat использовать Variant, должно получиться...
 

Автор: Coala 5.6.2006, 14:29
Скорее всего, в таблице отсутствует поле первичного ключа. 

Автор: КУБ 6.6.2006, 12:57
Если в таблице есть первичный ключ (автоинкремент), то данные сохраняются. Но если присвоить одно итоже два раза (например 
Код

ADOTable1->Edit();
ADOTable1->FieldByName("Pol")->AsFloat=100;
ADOTable1->Post();


 
И второй раз тоже самое 
Код

ADOTable1->Edit();
ADOTable1->FieldByName("Pol")->AsFloat=100;
ADOTable1->Post();



То на второй выдаст ошибку.

Почему? smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)