Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.041 c
15-1152871615
DevilDevil
2006-07-14 14:06
2006.08.13
Локальные переменные в C++


2-1153485847
Вовка
2006-07-21 16:44
2006.08.13
Ув.Мастера, подскажите функцию, которая действует как Ping


2-1153578887
Belorus
2006-07-22 18:34
2006.08.13
Два вопроса. Классы и Изображения


2-1153587491
Борис К.
2006-07-22 20:58
2006.08.13
Как ограничить одновременное количество потоков десятью?


2-1153819232
Провинциал
2006-07-25 13:20
2006.08.13
А "ЗЮКИ" в меню...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский