【问题标题】:Microsoft Access ODBC Driver Manager Function sequence errorMicrosoft Access ODBC 驱动程序管理器函数序列错误
【发布时间】:2019-03-28 21:07:37
【问题描述】:

我正在尝试使用 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 question 的答案,但没有改变。 QSqlQuery causing ODBC Function sequence error

【问题讨论】:

    标签: c++ sql qt ms-access


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      问题似乎与其中一列的日期/时间数据类型有关。

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

      将其从“短语预测”更改为“无”允许我从我的 Qt 应用程序查询 MS Access 表。

      【讨论】:

        猜你喜欢
        • 2013-08-14
        • 2013-08-07
        • 1970-01-01
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-06
        相关资源
        最近更新 更多