簡體   English   中英

Qt 5.8.0 Firebird QSqlQuery錯誤

[英]Qt 5.8.0 firebird QSqlQuery error

連接到Firebird后,嵌入式將不執行SQL請求。 在數據庫中,有一個表稱為測試。

db = QSqlDatabase::addDatabase("QIBASE");
db.setDatabaseName("C:\data.fdb");
db.setUserName("SYSDBA");
db.setPassword("masterkey");

if (db.open()) {
   qDebug() << "success";
}
else {
   qDebug() << db.lastError();
}

QSqlQuery q("", db);
q.exec("show tables;");

qDebug() << q.lastError();
qDebug() << q.lastError().type();
qDebug() << q.lastQuery();

調試:

success
QSqlError("-104", "Could not prepare statement", "Dynamic SQL Error - SQL                         
error code = -104 - Token unknown - line 1, column 1 - show")
2
"show tables;"

show命令不是SQL的一部分,因此show tables;不是SQL的一部分show tables; 不是Firebird引擎可識別的命令。 各種show命令由某些外部工具(即isql)實現

嘗試select 1 from rdb$database代替作為“測試語句”( rdb$database是Oracle dual表的Firebird版本)。 或者嘗試從您知道數據庫中的test表中進行選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM