QSqlQuery insert char

QSqlQuery insert char

本文关键字:char insert QSqlQuery      更新时间:2023-10-16

我正在尝试将字符插入表的列中。而是插入字符的十进制代码。如何插入字符?

详:

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'));