[英]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.