C ++ / Qt Многострочные строки; также несколько запросов - PullRequest
3 голосов
/ 26 августа 2010

Два [надеюсь] быстрых вопроса относительно C ++ / Qt. Правильно ли следующее для записи строки в несколько строк?

QString strQuery;
strQuery="\
         CREATE TABLE foo\
             (bar integer primary key,\
             baz varchar(20))";

Я считаю, что это правильно, но в Qt Creator это не выделяется так, как будто это одна большая строка.

Во-вторых, будет ли QSqlQuery.exec () выполнять несколько запросов за одно выполнение или каждый запрос должен выполняться через exec ()? Например, я пытаюсь что-то вроде:

QSqlQuery query;
QString strQuery;
strQuery="\
         CREATE TABLE foo \
             (bar integer primary key,\
             baz varchar(10));\
        CREATE TABLE herp\
             (de integer primary key, \
             derp varchar(10))";
query.exec(strQuery);

Из того, что я вижу, создается только эта первая таблица. Я не знаю, связано ли это с моей многострочной строкой, с моим типом базы данных (SQLite) или просто с QSqlQuery.

Спасибо за помощь!

1 Ответ

6 голосов
/ 26 августа 2010

Я думаю, что это будет правильный путь:

QString strQuery;
strQuery="CREATE TABLE foo " \
         "(bar integer primary key, " \
         "baz varchar(20));";
// with this style `strQuery` will be single line, like "CREATE TABLE foo (bar integer primary key, baz varchar(20));"

QSqlQuery query;

QString strQuery;
strQuery="CREATE TABLE foo " \
         "(bar integer primary key, " \
         "baz varchar(10));"
query.exec(strQuery);

strQuery="CREATE TABLE herp " \
         "(de integer primary key, " \
         "derp varchar(10))";
query.exec(strQuery);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...