![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при вызове ADOQuery.ExecSQL... [D7, SyBase]
Behemoth © (2003-03-20 10:26:00)ADOQuery1.SQL.Text:="Select * from ....";
ADOQuery1.Open;
ADOQuery1.SQL.Text:="UPDATE ....";
ADOQuery1.ExecSQL;
На ADOQuery1.ExecSQL вылетает ошибка по адресу ...
Если закоментировать первые две строки, то нормально выполняется. Если закоментировать две последние - тоже выполняется. Если поменять эти пары строк местами - тоже выполняется. Если вместо последней пары вызвать
ADOQuery1.SQL.Text:="Select * from ....";
ADOQuery1.Open;
то тоже выполняется. Короче если я вызываю ADOQuery1.ExecSQL; после ADOQuery1.Open; то выдается ошибка. Вот.
Behemoth (2003-03-20 11:14:00) [1]Странно... для MS SQL всё работает.
А для SyBase сделал через ADOConnection и вместо строк
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
написал ADOConnection.Close; и всё заработало.
Кто нить сможет обьяснить?
sniknik (2003-03-20 11:05:00) [2]делай всегда так
ADODataSet1.CommandText:="Select * from ....";
ADODataSet1.Open;
ADOCommand1.CommandText:="UPDATE ....";
ADOCommand1.Execute;
(для возвращающих датасет, невозвращающих сомманд)
не будеш себе голову забивать надуманными проблемами.
Behemoth (2003-03-20 10:42:00) [3]to Соловьев: тоже делал с тем же успехом :((((((
Соловьев (2003-03-20 10:38:00) [4]
> ADOQuery1.SQL.Text:="Select * from ....";
> ADOQuery1.Open;
> ADOQuery1.Close;
> ADOQuery1.SQL.Clear;>
ADOQuery1.SQL.Text:="UPDATE ....";
> ADOQuery1.ExecSQL;
Behemoth (2003-03-20 10:36:00) [5]Пробовал....:(((
D (2003-03-20 10:35:00) [6]Попробуйте после OPen сделать и Close