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

Вниз

Не удается избавиться от ошибки "Не удалось найти строку..." ADO   Найти похожие ветки 

 
Aleksandr.   (2004-11-22 14:12) [0]

Таблица на MS SQL имеет одно из полей со значением по умолчанию. Соответственно, при редактировании через ADOQuery после Post возникает ошибка "Не удалось найти строку для обновления". Я этому ADOQuery на AfterOpen сделал

 TADOQuery(DataSet).Properties["Update Resync"].Value:=adResyncAll

и все равно не помогает. Ключевое поле в таблице есть. Чем еще можно это лечить?


 
Reindeer Moss Eater ©   (2004-11-22 15:26) [1]

Ну а при чем здесь вообще поле со значением по умолчанию?


 
Aleksandr.   (2004-11-22 17:11) [2]

Reindeer Moss Eater ©  :
Согласно описанию, если при изменениях опускаешь поле со значением по умолчанию, АДО может дать такую ошибку, т.к., например, поле2 в выражении попадает в WHERE Поле2=NULL,
а у сервера оно уже будет иметь значение по умолчанию.


 
Reindeer Moss Eater ©   (2004-11-23 09:21) [3]

Если у тебя в датасете есть экземпляр TField для этого поля, то ни о каком срабатывании DEFAULT констрейнта не может быть и речи.


 
KSergey ©   (2004-11-23 09:56) [4]

>  [3] Reindeer Moss Eater ©   (23.11.04 09:21)
> Если у тебя в датасете есть экземпляр TField для этого поля,
> то ни о каком срабатывании DEFAULT констрейнта не может
> быть и речи.

Наглый обман трудового населения ;)
Скорее тогда уж зависит от MarshalOptions.
К стати, экземпляр TField после открытия DataSet есть всегда, согласитесь.

> Aleksandr.   (22.11.04 14:12)

Дочитайте все 3 статьи

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=408

Вообще - это шаманство чистейшей воды заставить ADO корректно все делать. Уж поверьте ;) Но можно ;)


 
KSergey ©   (2004-11-23 09:58) [5]

Да, забыл добавить: посоветовать что-то конкретное в таких случаях - нельзя. Только натурные эксперименты позволят подобрать приемлемое решение в конкретных условиях.


 
Reindeer Moss Eater ©   (2004-11-23 10:06) [6]

Если есть TField, до при вставке записи на сервер улетает insert, содержащий в списке полей поле TField.
(Кроме пожалуй случая c BDE + TUpdateSQL)
И дефолт значение у физ. поля отдыхает.

Не так?



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

Форум: "Базы";
Текущий архив: 2004.12.19;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.03 c
14-1101795877
Ditrix
2004-11-30 09:24
2004.12.19
[hymor] если бы


1-1101915836
ньюбик
2004-12-01 18:43
2004.12.19
Сглаживание графиков в TChart.


4-1099381257
bigcrush
2004-11-02 10:40
2004.12.19
Непонятная работа хука на WH_GETMESSAGE


14-1101886371
AlexG
2004-12-01 10:32
2004.12.19
Что скажете? Покупать его за 5000р.?


1-1102099099
vidiv
2004-12-03 21:38
2004.12.19
Освободится ли память?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский