SQLite テーブルにいくつかの値を挿入したいと考えています。
クエリは次のとおりです。
insert into TableName (field1,field2,field3) values (field1val, field2val, field3val)
テーブルに 20 個のフィールドがあるとします。ユーザー入力であるこの値に応じて、挿入するフィールドを選択したいと思います。残りのフィールドには値がありません。
私の現在の解決策は次のとおりです。
QString valuesToInsertFieldNames("(");
QString valuesToInsert("(");
if(field1val != -1)
{
valuesToInsertFieldNames+= "field1";
valuesToInsert += QString("%1 ").arg(field1val);
}
if(field2val != -1)
{
valuesToInsertFieldNames+= "field2";
valuesToInsert += QString("%1").arg(field2val);
}
...
valuesToInsertFieldNames+= ")";
valuesToInsert += ")";
query.exec(QString("insert into TableName " + valuesToInsertFieldNames +
"values" + valuesToInsert)
それを行うより良い方法はありますか?多分いくつかのQSql機能?