Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

ADO   Найти похожие ветки 

 
oss ©   (2002-12-20 10:32) [0]

подскажите, кто знает :( Использую АДОДатаСет, выбираю строку с условием where потом меняю ее и делаю Post, сразу выскакивает ощибка "Row cannot be located for updating. Some values may have been changed sinc it was read"
Что интерено, адо исполюзую для доступа к FireBird"у ( не надо советовать использоваь IBX или еще что-либо, мне нужно АДО)Так вот,
если при добовление записи всем полям присвоить какие-либо занчение, то этой ощибки при Update"е не будет, а если хоть одно поле останется Null, то вот тогда будет ошибка, какое бы поле не менял... ( Null остаются только не обязательные поля, не ключевые) Еще, когда меняю, то ключевые поля тоже не трогаю, меняю только текстовые значения. бьюсь уже второй день...


 
Prooksius ©   (2002-12-20 10:51) [1]

А как в ADO реализовано изменение данных (update, delete)?
Какой посылается запрос на сервер, как он формируется?
Никогда не работал с ADO, но вижу, что никто помочь не хочет/не знает как. :)


 
Prooksius ©   (2002-12-20 10:55) [2]

И можно ли влиять на формирование запроса на изменение в ADO?


 
sniknik ©   (2002-12-20 11:29) [3]

Посылать самому
ADOCommand.CommandText:= "INSERT ....
ADOCommand.Execute;
после того как стал сам регулировать изменения/транзакции/и т.д. через запросы не полагаясь на компоненты (ведь все одно неявно делают то же самое) избавился от 99.9% глюков(?) и непоняток.

глюк с вопросом потому что это не глюки на самом деле а незнание специфики работы самих компонент. (кому они нужны)


 
SergeyRSA   (2002-12-20 13:58) [4]

По-мойму надо в locktype в AdoDataset вместо ltOptimistic
поставить ltBatchOptimistic.


 
Prooksius ©   (2002-12-20 14:25) [5]

2 oss © (20.12.02 10:32)
Ну вот, сделай по совету sniknik © (20.12.02 11:29)
Получится что-то типа UpdateSQL. То есть select ты посылаешь (и фетчишь) с помошью ADODataSet, а изменения - ADOCommand.
Никаких глюков не должно быть.


 
Юрий Жуков ©   (2002-12-20 16:05) [6]

Бегом на королевство делфи и читать, читать, читать:

http://www.delphikingdom.com/helloworld/ado01.htm
http://www.delphikingdom.com/helloworld/ado02.htm
http://www.delphikingdom.com/helloworld/ado03.htm


 
oss ©   (2002-12-20 23:39) [7]

уважаемые, я со многими из вас согласен, я и сам не первый год работаю и с делфи и с базами, да и с адо тоже...
но нагорело как-то., особо обращаю внимание на то, что если "всем полям присвоить какие-либо занчение" пусть даже что-то вроде :="", то все работает отлично !, а если останется NULL, да еще упаси Бог в текстовом поле, то полный п...ц.


 
sniknik ©   (2002-12-21 00:30) [8]

может таблицы так сделаны? по аналогу с MSSQL (а как оно там в IB6?)
fname varchar(20) NOT NULL
поле fname нельзя оставлять пустым, обязательно значение.
и потом если пользоватся INSERT/UPDETE то ничего не стоит и "" вместо NULL задать.


 
oss ©   (2002-12-21 01:43) [9]

ВОТ ОНО!!!!!!!!!!!!!
одна строчко и мне помогло
поле открытия датасета
ADIDataSet.Properties["Update Criteria"].Value:=adCriteriaKey;
что значит update"тить только по ключю !!!
а для любознательых - по умолчанию датасет делает update по всем извлеченным полям !
вообщем читайте книжки не по одному разу :)
огромное спасибо Юрий Жуков ©



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-48942
SergeiIzhevsk
2002-12-23 09:42
2003.01.16
Подскажите, где взять дистрибут FastReport


3-48952
Dvorez
2002-12-23 09:49
2003.01.16
Динамическая переменная


14-49275
McSimm
2002-12-27 10:54
2003.01.16
Режим


1-49023
Аркадий
2003-01-04 00:40
2003.01.16
помогите


14-49282
gsu
2002-12-27 14:25
2003.01.16
Оказывается в D есть возведение в степень (Power)