Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
Внизdelete from Найти похожие ветки
← →
Рустам1 (2008-06-16 15:03) [0]при выполнении данного запроса
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("DELETE FROM 8;");//имя table 8
ADOQuery1.ExecSQL;
выводится ошибка "текущий проводник не поддерживает возврат нескольких наборов записи в результате операции"..что я неправильно делаю?и вообще, как можно удалить все записи в table?
← →
Поросенок Винни-Пух © (2008-06-16 15:13) [1]что я неправильно делаю?
Даешь неправильные имена объектам БД.
← →
Ega23 © (2008-06-16 15:22) [2]Попробуй добавь вначале ADOQuery1.Close;
Хотя тут конечно масса вариантов.
← →
Василий Жогарев © (2008-06-16 16:08) [3]
> Рустам1 (16.06.08 15:03)
СУБД какая ?
С поправкой
> Ega23 © (16.06.08 15:22) [2]
вот это работает без проблем:with ADOQuery1 do
begin
if Active then
Close;
SQL.Clear;
SQL.Text := "DELETE FROM Table1";
ExecSQL;
end;
, посмотри может действительно верно сказано
> Поросенок Винни-Пух © (16.06.08 15:13) [1]
← →
Рустам1 (2008-06-16 16:09) [4]ошибка происходит,когда я пытаюсь выполнить sql запрос
← →
Поросенок Винни-Пух © (2008-06-16 16:11) [5]ошибка происходит,когда я пытаюсь выполнить sql запрос
вот это да. кто бы мог подумать.
← →
Василий Жогарев © (2008-06-16 16:17) [6]
> текущий проводник не поддерживает возврат нескольких наборов
> записи в результате операции
Мне почему-то кажется что ты все-таки делаешь неExecSQL
, аOpen
... Хотя могу и ошибаться... :o)
← →
андр. (2008-06-16 16:19) [7]Стоп. Вот это зачем ?
Add("DELETE FROM 8;")
← →
андр. (2008-06-16 16:20) [8]
> андр. (16.06.08 16:19) [7]
Всмысле точка с зяпятой...
← →
Ega23 © (2008-06-16 16:24) [9]
>
> Всмысле точка с зяпятой...
>
А что не так?
← →
Ega23 © (2008-06-16 16:26) [10]
> С поправкой
> > Ega23 © (16.06.08 15:22) [2]
>
> вот это работает без проблем:
>
> with ADOQuery1 do
> begin
> if Active then
> Close;
Эта проверка не нужна. Если посмотришь внимательно на реализацию TDataSet.Close и
procedure TDataSet.SetActive(Value: Boolean);
begin
if (csReading in ComponentState) then
begin
FStreamedActive := Value;
end
else
if Active <> Value then
begin
if Value then
begin
DoBeforeOpen;
try
OpenCursor;
finally
if State <> dsOpening then
OpenCursorComplete;
end;
end else
begin
if not (csDestroying in ComponentState) then DoBeforeClose;
SetState(dsInactive);
CloseCursor;
if not (csDestroying in ComponentState) then DoAfterClose;
end;
end;
end;
то увидишь, что оно лишнее.
← →
Anatoly Podgoretsky © (2008-06-16 16:48) [11]Начнем с простого,
1. твоя СУБД позволяет так именовать объекты
2. твоя СУБД позволяет ставить в конце запроса точку с запятой
← →
Рустам1 (2008-06-16 18:23) [12]моя субд - access.
> 1. твоя СУБД позволяет так именовать объекты
я делаю запросы типаselect from 8
, и ошибок не бывает...
2. а что, ненадо использовать точку с запятой?-.- по моему нужно
← →
Anatoly Podgoretsky © (2008-06-16 18:39) [13]В таком случае код правильный и ошибка на сервере.
← →
Ega23 © (2008-06-16 18:41) [14]
> 2. а что, ненадо использовать точку с запятой?-.- по моему
> нужно
А вот лучше без "по-моему", для этого help имееццо.
← →
Рустам1 (2008-06-16 18:59) [15]ну... убрал запятую, ничего не изменилось!
← →
Рустам1 (2008-06-16 18:59) [16]*точку с запятой
← →
Василий Жогарев © (2008-06-17 10:35) [17]
> я делаю запросы типа select from 8, и ошибок не бывает..
> .
А как жеselect * from 8
?
1) НЕ именуй объекты баз данных цифрами, даже если есть поддержка сие чуда.
2) Выполни тот же самый запросDELETE FROM ...
не посредственно в базе.
3) Проверь еще раз код программы.
4) В принципе попробуй убрать точку с запятой, и так работает, ты же не через консоль команду закрываешь.
5) Если не поможет, попробуй организоватьDELETE FROM
другой таблицы.
← →
affonya (2008-06-17 10:55) [18]ADOQuery1.SQL.active := false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add("DELETE FROM 8;");//имя table 8
Transaction.begin;
ADOQuery1.ExecSQL;
Transaction.commit;
вроде так должно заработать.
← →
Правильный-Вася (2008-06-17 10:56) [19]
> выводится ошибка "текущий проводник не поддерживает возврат
> нескольких наборов записи в результате операции"
вряд ли ошибка приосходит на этом запросе
включи трассировку F7 и смотри
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.07.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.046 c