Одинарные кавычки в SQL запросе на Delphi или RAD Studio

Одинарные кавычки в SQL запросе на Delphi или RAD Studio
Комментарии: 0

Тот, кто впервые пытается реализовать SQL запрос к базе данных из программы на Delphi или RAD Studio, сталкивается со сложностями, даже если синтаксис 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)';
    
Темы:
DelphiSQL
Ещё интересное — 4
Комментарии —
    © REALADMIN.RU   2024 г.
    Страница сгенерирована: 0,1858 s | 4 mb.
    На каком уровне Вы играете в шахматы?
    OPROS