SQL-запросы в коде C/C++

SQL-запросы можно хранить в строковых переменных, например:

const char * query = "SELECT * FROM table1;";

Но если запрос достаточно большой, то его придется разбить на несколько строк, например:

const char * query =
    "SELECT column1, column2, column3"
    " FROM table1 INNER JOIN table2"
    " ON table1.column1 = table2.column2;";

Но такой запрос не скопируешь в какой-нибудь клиент СУБД, чтобы проверить как он исполняется. Мешают кавычки, без которых компилятор ругается.

Есть способ записи запросов, который бы удовлетворил обоим языкам и SQL и C/C++:

const char * query = 
    "SELECT column1, column2, column3 --\n\
     FROM table1 INNER JOIN table2 --\n\
     ON table1.column1 = table2.column2;";

Наклонная черта в конце строк позволяет на C/C++ переносить текст на другую строку, не используя кавычки. А два дефиса и перевод строки (\n) перед наклонной чертой сделают так, чтобы эта черта считалась комментарием на SQL.

Реклама

Автор

Дмитрий Бравиков

Инженер. Электронщик. Программист.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.