![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как послать на Delphi комманду SQL: UPDATE [D7]
Андрей123 © (2007-03-13 00:05:00)Вопрос такой:
Я связываю DBGrid через ADO компонент (ADOQuery) и DataSourse с таблицей DateBase.mdb (Access). НО когда Query присваеваю sql-запрос на обновление, программа выдает ошибку "ADOQuery1:CommandText does not return a result set"?
А код пишу такой:
for i:=1 to 31 do
begin
ADOQuery1.Active:=false;
ADOQuery1.SQL.Text:='UPDATE Days ' +
'SET Days.' + IntToStr(i) + '=0 ' +
'WHERE [' + IntToStr(i) + ']<>0';
ADOQuery1.Active:=true;
Какие еще есть способы организовать управление через комманды SQL базой? Помогите
Ega23 (2007-03-13 11:48:00) [1]
> Не могли бы примерно написать, как работает ADOQuery1.ExecSQL,
> потому что должно ADOQuery1.ExecSQL возвращать целое значение,
> а мне надо sql-запрос.
>
Команды Insert, Update и Delete - не возвращают record set
Команда Select - возвращает record set.
Всё, что возвращает record set (даже пустой), делается с помощью команды Open.
Всё, что не возвращает record set, делается с помощью команды ExecSQL.
DrPass (2007-03-13 00:44:00) [2]
> потому что должно ADOQuery1.ExecSQL возвращать целое значение,
> а мне надо sql-запрос.
Оно ничего не должно возвращать. Собственно, ничего и не возвращает.
> Не могли бы примерно написать, как работает ADOQuery1.ExecSQL
Честно говоря, мне совершенно непонятно, что тут может быть непонятного?
Андрей123 (2007-03-13 00:18:00) [3]Не могли бы примерно написать, как работает ADOQuery1.ExecSQL, потому что должно ADOQuery1.ExecSQL возвращать целое значение, а мне надо sql-запрос.
DrPass (2007-03-13 00:12:00) [4]Если команда должна вернуть набор данных (т.е. это select), то ADOQuery1.Active:=true. Если не должна (это все остальное), то ADOQuery1.ExecSQL