Текущий архив: 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.46 MB
Время: 0.008 c