4
...
query.exec("insert into person values(104, 'Roberto', 'Robitaille')");
query.exec("insert into person values(105, 'Maria', 'Papadopoulos')");
...
これらは単一のクエリでバインドできますかquery.exec()?QtSql複数のクエリの実行
...
query.exec("insert into person values(104, 'Roberto', 'Robitaille')");
query.exec("insert into person values(105, 'Maria', 'Papadopoulos')");
...
これらは単一のクエリでバインドできますかquery.exec()?QtSql複数のクエリの実行
クエリをバッチで実行しようとしているようです。はい、qtはこのシナリオをサポートしています。
bool QSqlQuery::execBatch (BatchExecutionMode mode = ValuesAsRows)
バッチで事前に準備されたSQLクエリを実行します。すべての連結された パラメータは、バリアントのリストでなければなりません。データベースで がバッチ実行をサポートしていない場合、ドライバは従来のexec()呼び出しを でシミュレートします。クエリが実行されるとtrueを返します ;それ以外の場合はfalseを返します。
QSqlQuery q;
q.prepare("insert into myTable values (?, ?)");
QVariantList ints;
ints << 1 << 2 << 3 << 4;
q.addBindValue(ints);
QVariantList names;
names << "Harald" << "Boris" << "Trond" << QVariant(QVariant::String);
q.addBindValue(names);
if (!q.execBatch())
qDebug() << q.lastError();