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

Вниз

Не удается избавиться от ошибки "Не удалось найти строку..." 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
4-1099471291
Фагот
2004-11-03 11:41
2004.12.19
Автозапуск


1-1102270323
fuzzu
2004-12-05 21:12
2004.12.19
Как автоматически создать N количество CheckBox ов?


3-1100370184
integer
2004-11-13 21:23
2004.12.19
как получить разницу двух таблиц


14-1101576784
ИМХО
2004-11-27 20:33
2004.12.19
"Особенности национального Интернета" (с) АП


1-1102326103
jiran
2004-12-06 12:41
2004.12.19
Помогите перевести с с++ на Delphi вызов функции из dll !