我正在尝试使用Qt通过QSqlQuery查询MS Access数据库中的表。我可以查询除一个表以外的所有表。一个表返回错误:
[Microsoft][ODBC Driver Manager] Function sequence error
这是我用来查询表格的代码。
QSqlQueryModel *tempModel = new QSqlQueryModel();
QSqlQuery *qry = new QSqlQuery();
qry->prepare("SELECT * FROM table_name;");
qry->exec();
tempModel->setQuery(*qry);
while(tempModel->canFetchMore())
{
tempModel->fetchMore();
}
我已经尝试过从这个SO问题中得到答案,但是没有任何变化。 QSqlQuery causing ODBC Function sequence error
答案 0 :(得分:1)
我也遇到了与MySql后端的DAO连接器有关的问题。我的直通查询正在运行,但是尝试使用DAO从表中读取时收到ODBC函数序列错误。记录集连接器很好-move.first,move.last,记录计数和数字字段名称都没有问题。尝试读取记录数据时程序失败-但是,我的直通查询也没有发生任何问题。
问题很容易解决。在更改表架构后,我忘记刷新ODBC链接。刷新了链接..现在一切又恢复正常了。
为简化生活,我为最终用户添加了一个程序链接,以自动刷新ODBC链接。
答案 1 :(得分:0)
问题似乎出在其中一列的“日期/时间”数据类型上。
我的一列的数据类型为“日期/时间”,并且“ IME句子模式”的属性设置为“短语预测”。
将其从“词组预测”更改为“无”使我可以从Qt应用程序中查询MS Access表。