相关疑难解决方法(0)

如何在SQL Server Express表中保存QTime并将其读回?

我在SQL Server Express与字段的表name varchar(10)timeVar time我要保存的值QTime的变量time场.

这是我尝试过的:

QTime time = QTime::currentTime();
QString timeString = time.toString("hh:mm:ss");
QString query = QString("insert into timeHold(name,timeVar) values ('ABC','%2')").arg(timeString);

qry->prepare(query);
qry->exec();
Run Code Online (Sandbox Code Playgroud)

但是,我明白了QSqlQuery::value: not positioned on a valid record.

当我从SQL Server Management Studio将值插入表中时,insert into timeHold values('XYZ', '12:17:35')效果很好.令我惊讶的是,当我尝试从管理工作室读取存储在表中的值时,我能够获得名称字段,但不能获得时间字段.

这是我用来从表中读取值的代码:

QString query = QString("select * from timeHold");

qry->prepare(query);
qry->exec();
qry->first();

int noOfRecords = qry->numRowsAffected();

do {
    qDebug() << qry->value(0).toString();
    qDebug() << qry->value(1).toString();
} while (qry->next());
Run Code Online (Sandbox Code Playgroud)

代码生成以下输出:

"ABC"
"\u0017" …
Run Code Online (Sandbox Code Playgroud)

c++ qt sql-server-express

5
推荐指数
1
解决办法
125
查看次数

标签 统计

c++ ×1

qt ×1

sql-server-express ×1