RealAdmin.ru

Ставим одинарные кавычки в SQL запросе в Delphi

Delphi,SQL
Категория: Кодинг
19 Ноя 2012 г. в 23:43

Тот, кто впервые пытается реализовать SQL запрос к базе данных из программы на Delphi, как правило, сталкивается с некоторыми сложностями, даже если синтаксис SQL запросов ему давно знаком. Очень часто первым затруднением бывает проставление одинарных кавычек в запросе.

Дело в том, что все значения текстовых полей в SQL должны быть обрамлены в одинарные кавычки. Но как это сделать, если и сам запрос представляет из себя строку, а строки в Delphi так же обрамляются в кавычки?

Рассмотрим следующий пример:

Query.SQL.Text:='SELECT * FROM Users WHERE (First_Name=Андрей) AND (Age<27)';

В таком виде выборка не будет осуществлена, возникнет ошибка — «Синтаксис SQL запроса неверен. Проблема в отсутствии одинарных кавычек у значения текстового поля First_Name». Есть несколько решений данной проблемы:

1. Использовать функцию QuotedStr(const S:string):string;
Функция добавляет символ одиночной кавычки в начало и конец строки. Пример использования:

Query.SQL.Text:='SELECT * FROM Users WHERE (First_Name='+QuotedStr('Андрей')+') AND (Age<27)';

2. Использовать два раза повторяющийся символ одиночной кавычки.

Query.SQL.Text:='SELECT * FROM Users WHERE (First_Name=''Андрей'') AND (Age<27)';

3. Использовать код символа кавычки — #39. Пример использования:

Query.SQL.Text:='SELECT * FROM Users WHERE (First_Name='+#39+'Андрей'+#39+') AND (Age<27)';
Теги:
SQL
Посмотрите похожее — 2
Комментарии — 0
    © REALADMIN.RU   2016 г.
    Страница сгенерирована: 0,1247 s | 10 mb.
    На каком уровне Вы играете в шахматы?
    О П Р О С
    Home Question Top