Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Внизsql Найти похожие ветки
← →
NIKI (2002-08-16 15:59) [0]Объясните мне, пожалуйста.
В чём разница (при использовании SQL)
в методах open и execsql?
← →
Mike Kouzmine (2002-08-16 16:02) [1]Один возвращает набор данных, а другой нет, наверное так
← →
Leran2002 (2002-08-16 16:03) [2]open - возвращает набор данных (SELECT)
execsql - не возвращает ничего (UPDATE,DELETE,INSERT)
← →
NIKI (2002-08-16 16:04) [3]Спасибо.
← →
VAleksey (2002-08-17 11:20) [4]На самом деле и та и другая команда выполняют запрос SQL. Просто при команде Open TQuery ожидает получение курсора.
← →
elv (2002-08-17 13:45) [5]А если не знаешь что произойдет, open или exec попробуй использовать нечто вроде этого (пример кажется из Шумакова/Фараонова)
try
Form.Query.Open;
except
on EDataBaseError do
begin
Form.Query.ExecSQL;
end;
end;
← →
Александр Спелицин (2002-08-19 10:00) [6]2 elv:
В Вашем варианте запрос может быть выполнен дважды.
1-й раз при Query.Open, а если он не вернет данных, то и при
on EDataBaseError do
Form.Query.ExecSQL;
Правильный вариант (конечно для BDE):
try
Form.Query.Open;
except
on EDataBaseError do
begin
end;
end;
← →
3JIA9I CyKA (2002-08-19 12:17) [7]try
Form.Query.Open;
except
on EDataBaseError do
begin // ??????????????????
end; // ??????????????????
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.09.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c