QSqlQuery insert char
QSqlQuery insert char
我正在尝试将字符插入表的列中。而是插入字符的十进制代码。如何插入字符?
详:
QString insertSql;
insertSql
.append("INSERT INTO ")
.append(" table ")
.append(" (direction) ")
.append("VALUES (?)");
QSqlQuery update;
update.prepare(insertSql);
update.bindValue(0, 'F');
bool ex = update.exec();
qDebug() << update.lastError().type() << endl;
qDebug() << update.lastError().databaseText() << endl;
qDebug() << update.lastError().driverText() << endl;
如果表中的方向属性是 varchar,我会插入字符串"70"(字符的十进制代码),如果属性"char"是,则会产生错误,即类型太短而无法存储值。
想法?
在对bindValue
的调用中,第二个参数是 QVariant,但 QVariant 没有接受 char 的构造函数。您的字符可能已转换为 int,因为这是标准转换,而不是 QChar。您的 QVariant 是整数类型,并在bindValue
期间转换为字符串。
您可以尝试显式使用 QChar :
update.bindValue(0, QChar('F'));