Форум: "Базы";
Текущий архив: 2007.04.15;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c