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

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

Как послать на 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


Наверх

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