C++ QT数据库模块错误

C++ QT数据库模块错误,c++,database,qt,postgresql-9.4,C++,Database,Qt,Postgresql 9.4,我第一次在Qt5.6.0版本中为数据库模块编写代码,但我在下面这行中遇到了错误,我不知道如何解决这个问题 代码行: QString insertTable=QString("INSERT INTO %1(%2,%3)" "VALUES (%4,%5)".arg(tableName).arg("\'schema\'","\'timestamp\'").arg(schema,timestamp)); 错误是: C:\Users\ankit.ahlawat\Desktop\Infosys\git\I

我第一次在Qt5.6.0版本中为数据库模块编写代码,但我在下面这行中遇到了错误,我不知道如何解决这个问题

代码行:

QString insertTable=QString("INSERT INTO %1(%2,%3)" "VALUES (%4,%5)".arg(tableName).arg("\'schema\'","\'timestamp\'").arg(schema,timestamp));
错误是:

C:\Users\ankit.ahlawat\Desktop\Infosys\git\IoTGateway_Database\database.cpp:212: error: request for member 'arg' in '"INSERT INTO %1(%2,%3)VALUES (%4,%5)"', which is of non-class type 'const char [36]'
                             "VALUES (%4,%5)".arg(tableName).arg("\'schema\'","\'timestamp\'").arg(schema,timestamp));

                                      ^

调用QString构造函数时错误放置了括号:

QString("INSERT INTO %1(%2,%3)" "VALUES (%4,%5)".arg(tableName).arg("\'schema\'","\'timestamp\'").arg(schema,timestamp))
应该是:

QString("INSERT INTO %1(%2,%3)" "VALUES (%4,%5)").arg(tableName).arg("\'schema\'","\'timestamp\'").arg(schema,timestamp)

如果没有格式化,很难看到发生了什么。我甚至不确定那里是否有代码。很抱歉,现在我编辑了它Question@ankitAhlawat您不应该直接形成查询,因为您容易受到SQL注入攻击,你应该做的是使用@eyllanesc和addBindValue我这样做了,但现在我正在尝试使用QString,所以…我是新来的QT@ankitAhlawat但是,如果您这样做,那么您的应用程序就容易受到攻击,这是一种糟糕的做法