![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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=?";