Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.013 c
1-48996
Scorp
2003-01-07 00:45
2003.01.16
програмное выполнение команды


1-49120
gari
2003-01-05 13:25
2003.01.16
Можно ли поменять шрифт в процедуре showmessage()


1-49102
iap
2003-01-05 09:01
2003.01.16
Вопрос по TImage.


3-48930
oleon
2002-12-20 12:27
2003.01.16
Шифрование пароля для доступа к БД.


3-48938
_landy
2002-12-19 15:37
2003.01.16
TQuery & TStream





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский