Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

Не могу расставить кавычки в 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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.077 c
2-1153663863
userrrrr
2006-07-23 18:11
2006.08.13
подключение


2-1153761813
Yegorchic
2006-07-24 21:23
2006.08.13
#10#13 в конце строки


2-1153731983
ps2006
2006-07-24 13:06
2006.08.13
Непростой вопрос по string


15-1153258533
grisme
2006-07-19 01:35
2006.08.13
Зарегился на незарегенный ник


3-1149738973
Soi
2006-06-08 07:56
2006.08.13
Экспорт данных из одной таблицы в другую