Microsoft Access ODBC驱动程序管理器功能序列错误

时间:2019-03-28 21:07:37

标签: c++ sql qt ms-access

我正在尝试使用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

2 个答案:

答案 0 :(得分:1)

我也遇到了与MySql后端的DAO连接器有关的问题。我的直通查询正在运行,但是尝试使用DAO从表中读取时收到ODBC函数序列错误。记录集连接器很好-move.first,move.last,记录计数和数字字段名称都没有问题。尝试读取记录数据时程序失败-但是,我的直通查询也没有发生任何问题。

问题很容易解决。在更改表架构后,我忘记刷新ODBC链接。刷新了链接..现在一切又恢复正常了。

为简化生活,我为最终用户添加了一个程序链接,以自动刷新ODBC链接。

答案 1 :(得分:0)

问题似乎出在其中一列的“日期/时间”数据类型上。

我的一列的数据类型为“日期/时间”,并且“ IME句子模式”的属性设置为“短语预测”。

将其从“词组预测”更改为“无”使我可以从Qt应用程序中查询MS Access表。