关于C++/Qt的两个[希望]快速问题.以下是否适合在多行上写字符串?
QString strQuery;
strQuery="\
CREATE TABLE foo\
(bar integer primary key,\
baz varchar(20))";
Run Code Online (Sandbox Code Playgroud)
我相信这是对的,但是在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);
Run Code Online (Sandbox Code Playgroud)
从我所看到的,只有第一个表被创建.我不知道这是否与我的多行字符串,我的数据库类型(SQLite)或一般的QSqlQuery有关.
谢谢您的帮助!
我认为这将是正确的方式:
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));"
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7179 次 |
| 最近记录: |