Форум: "Базы";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
ВнизНе могу расставить кавычки в delete Найти похожие ветки
← →
Fer © (2006-05-26 13:38) [0]Здравствуйте.
Подскажите плиз один момент.
Есть база в Асесе 2000
аппараты :
аппарат | объём
R 1-1 | 1
R 1-2 | 2
1 | 3
Работаю в delphi 7 - через BDE SQL запрос (Query)
with Query1 do
begin
Active:=False;
SQL.Clear;
SQL.Add("delete from аппараты where объём = 3);
ExecSQL;
end;
честно удаляет аппарат 1
Но все мои попытки заставить удалять вот так:
SQL.Add("delete from аппараты where аппарат = 1); - слишком мало параметров требуется 1.".
SQL.Add("delete from аппараты where аппарат = "R 1-1""); - слишком мало параметров требуется 2.".
а на вариант
SQL.Add("delete from аппараты where аппарат = " "R 1-1" " "); - не компилирует = [Error] Unit1.pas(82): ")" expected but identifier "R" found
Чувствую что дело в кавычках... а поставить даже методом перебора не могу!
Столбец аппарат текстовый
подскажите кто знает...
Спасибо
← →
MsGuns © (2006-05-26 14:17) [1]1) SQL.Add("delete from аппараты where аппарат = """1""");
2) SQL.Add("delete from аппараты where аппарат = "+QutedStr("1"));
3) SQL.Add("delete from аппараты where аппарат = :pa");
SQL.Parameters.ParamByName("p").Value := "1";
Последнее - самое правильное
← →
Fer © (2006-05-26 14:20) [2]SQL.Add("delete from аппараты where наименование = "+QuotedStr("R 1-1"));
Решение любезно подсказано на форуме www.sql.ru
Всем спасибо
← →
Fer © (2006-05-26 14:23) [3]Ого..
вариант 1 - это " " " " или " " в смысле двойные или одинарные или и те и эти..
вариант 2 - работает!!! и мне понятен
вариант 3 - верный но не понятен... :pa а затем "p" но в будующем попробую заюзать
Пасиб огромный за решение - перерыл все форумы и исходники!
← →
MsGuns © (2006-05-26 14:37) [4]>Fer © (26.05.06 14:23) [3]
>вариант 3 - верный но не понятен... :pa а затем "p" но в будующем попробую заюзать
Очепятка просто. Использвание параметров - самый правильный способ, т.к. позволяет не заботиться о корректности перевода "паскальных" форматов данных в "серверные", у которых может быть разная локализация.
← →
Fer © (2006-06-05 10:37) [5]Так... уж не хотелось осваивать новые технлогии, но тем не менее..
Длинна запроса вынуждает прибегнуть к третьему способу - использованию параметров.
Конкретно на это компилятор ругается.. ((((
SQL.Parameters.ParamByName("p").Value := "1";
По точке после SQL не показывает в списке слово Parameters ((((
Написанное самим - не компилит
Строчкой кода никто не поделится?
← →
ANB © (2006-06-05 10:56) [6]SQL убери.
Parameters.ParamByName("p").Value := "1";
← →
ЮЮ © (2006-06-05 10:59) [7]не SQL.
а
Query1.
если это TADOQuery.
Есри же это TQuery, то просто
Query1.ParamByName
← →
Fer © (2006-06-05 11:05) [8]Пасиб огромный! Тут так быстро и точно отвечают. Тьфу тьфу тьфу!
Пасиб!
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.038 c