显示创建视图|来自mysql的TABLE不报告QSqlQuery中的任何行

时间:2013-02-10 07:16:46

标签: mysql qt qsqlquery

在我的基于Qt(4.8.1)的应用程序中,我需要检索存储在MySql数据库中的视图的定义。

我正在使用的代码是

QSqlQuery query;   
query.prepare(QString("SHOW CREATE VIEW %1").arg(viewName));

qDebug() << "actually sending this query: " << query.lastQuery();
qDebug() << "exec retuned " << query.exec();
qDebug() << "last error reported as " << query.lastError();
qDebug() << "size = " << query.size();
qDebug() << "numRowsAffected" << query.numRowsAffected();

QString viewCreateString;
if (query.first()) {
    viewCreateString = query.value(1).toString();
    qDebug() << "got this create view record" << viewCreateString;
}

当我运行上面的代码时,我得到以下结果:

actually sending this query:  "SHOW CREATE VIEW AC_STATE_V" 
exec retuned  true 
last error reported as  QSqlError(-1, "", "") 
size =  -1 
numRowsAffected -1 

请注意:

  1. 如果我使用相同的凭据从连接到同一个数据库的MySql Workbench SQLTab中运行相同的(剪切和粘贴)命令,我会得到预期的结果(ieview存在且用户有足够的权限来检索它)< / LI>
  2. 以上所有内容对于TABLE
  3. 也有效

0 个答案:

没有答案