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

Вниз

Chr(39)   Найти похожие ветки 

 
VeryLongString   (2007-01-28 12:24) [0]

Здравствуйте. При помощи ADOCommand1 выполняю запрос в Access базу, но случилась такая проблема. Одна из переменных на добавление (допустим OOthe - Ldb.Other), содержит такой текст: hello i"m a"a"dkfdnfdjfdf;df"dsfee"rrrr"pp2"
И тогда при выполнении запроса получается не приятная ситуация, а именно: Ошибка синтаксиса (пропущен оператор) в выражении запроса...
Можно как-то это исправить? (Исключая замену всех " в этой переменной)


         ADOCommand1.CommandText := "INSERT INTO Informations " +
         "(OName, OAdministrator, OAdministratorEmail, OOther" +
         "...........)" +
         " VALUES " +
         Format("(""%s"", ""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"",""%s"")",
         [
           Ldb.Name, Ldb.Administrator, Ldb.Email, Ldb.Other....          

         ]);
   

      ADOCommand1.Execute;


 
Desdechado ©   (2007-01-28 12:36) [1]

Уж сколько раз твердили миру...
Параметры использовать. Через них хоть черта протолкнуть можно...


 
Olivetti   (2007-01-29 01:36) [2]

ADOCommand1.CommandText := ...;
ShowMessage(ADOCommand1.CommandText); // Посмотри, проверь корректность синтаксиса с точки зрения SQL сервера
ADOCommand1.Execute;


 
Desdechado ©   (2007-01-29 10:51) [3]

Olivetti   (29.01.07 01:36) [2]
Там и проверять нечего, и так все ясно. Апостроф является ограничителем строковых констант. Поэтому наличие апострофа в строке приводит к вымиранию команды.
ADOCommand1.CommandText := "INSERT INTO Informations(a,b) VALUES(:P0, :P1)";
ADOCommand1.Parameters.ParamByName("P0").Value:=1;
...
...Execute;


 
sniknik ©   (2007-01-29 11:17) [4]

> Поэтому наличие апострофа в строке приводит к вымиранию команды.
можно задублировать кавычки внутри строки,  как и в дельфе, тогда все будет нормально...
но к легкости понимания и эффективности кода это не приведет...

меня одно только использование Format в [0] подобном виде коробит просто, ужас какойто... а потом начнут подобное в циклы вставлять на для множественных вставок и "плакать", что медленно работает.



Страницы: 1 вся ветка

Текущий архив: 2007.04.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
1-1171963386
RJ
2007-02-20 12:23
2007.04.15
указатель на форму


15-1174413688
][-m@n
2007-03-20 21:01
2007.04.15
SmartFon


2-1174552885
sergeyst
2007-03-22 11:41
2007.04.15
TRegistry


15-1174302327
vajo
2007-03-19 14:05
2007.04.15
Total Commander


3-1169454228
Егоров А.Н.
2007-01-22 11:23
2007.04.15
Выражение CASE в операторе SELECT