Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO & SQL Server2000 [D6, MSSQL]


Nikolai_S ©   (2003-12-03 15:15:00) 

БД SQLServer 2000
При попытке добавить запись в TADOQuery возникает ошибка (при вызове метда TADOQuery.Post):

Дескриптор строки указывал на удаленную строку или строку, помеченную для удаления

Ошибка возникает только в случае, если TADOQuery открыт запрос с использованием JOIN, и в настоящий момент в TADOQuery нет ни одной записи:

SELECT TABLE1.* FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.F1=TABLE2.F1

В Query заданы следующие свойства:

Query.Properties["Unique Table"].Value := "TABLE1";
Query.Properties["Update Criteria"].Value:= adCriteriaKey;
Query.Properties["Update Resync"].Value:= adResyncAll;


Если убрать строку Query.Properties["Update Resync"].Value:= adResyncAll;, то ошибки не возникает. Но эта строка мне нужна.

Если в Query есть записи, либо SQL-скрипт без использования JOIN (например SELECT * FROM TABLE1), то ошибки уже не возникает.

В MS Access таких проблем не было. Я перешел на MS SQL Server - и начала появляться эта ошибка.

Как с этим бороться?


Nikolai_S   (2003-12-04 12:26:00) [1]

Кажись, помогла. Больше спасибо. Видимо, я был невнимателен когда читал описание к ADO.
Хотя почему же тогда в Access 2000 все и так работало?


Bless   (2003-12-04 09:39:00) [2]

>Как с этим бороться?
Может, тебе поможет строка

query.Properties["Resync Command"].Value:="SELECT table1.* FROM table1 WHERE F1=?";


Наверх

Титульная страница Поиск, карта сайта Написать письмо