我想从用户输入生成SQL查询,以将一些数据插入数据库。
用户可以输入任何东西。Qt中是否有一种方法可以在字符串类型的值字段中转换此类用户输入?
“用户可以输入任何内容。”
这并没有给我们太多帮助,但是我可以举一个例子说明如何设置基本的插入查询。
// I assume you already have a QSqlDatabase object called 'db'
QSqlQuery query(db);
QString s = "INSERT INTO table (colA, colB) VALUES (:valA, :valB);"
query.prepare(s);
// You only need to prepare the query once
// To actually insert values into colA & colB, do this:
query.bindValue(":valA", QString("stuff to put in colA"));
query.bindValue(":valB", QString("other stuff for colB"));
query.exec();
query.finish(); // you probably don't even need this
该bindValue
方法以aQVariant
作为其第二个参数(在示例中我使用了字符串,但是您可以使用变体类型支持的任何东西)。您只需要确保值的类型对数据库中的相关列有意义。
另外,我在示例中使用了PostgreSQL的语法。我认为这是标准的,但是您可能需要更改参数绑定(:valA
:valB
内容)以匹配数据库引擎的期望。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句