只是试着搞砸Qt和SQLite来熟悉事情的运作方式 - 自从我的vb6天以来我没有真正完成数据库编程,所以请轻松一点;]
我只是想获得一个查询的结果,而我正在尝试按照我在网上找到的一些例子(即this一个)。这个过程看起来很简单:创建QSqlQuery对象,让它执行查询,检查返回的内容,然后获取值。这样做时,我收到了一个错误。代码如下:
bool DatabaseManager::structureDB(){
QSqlQuery query;
query.exec("CREATE TABLE mytable"
" (id integer primary key,"
" firstname varchar(20),"
" lastname varchar(20),"
" age integer)");
QSqlQuery query2;
query2.exec("pragma table_info(mytable)");
if(query2.first()){
QString test = query2.value(0).toString(); // Error line
qDebug()<<test;
return true;
}
return false;
}
我得到的错误是:
error: invalid use of incomplete type 'struct QVariant'
在上面评论的行上。我不确定这个错误意味着什么或我做错了什么,有人可以帮忙吗?非常感谢!
答案 0 :(得分:1)
基本上,声明了类型但没有定义,如下所示:
struct QVariant;
一旦你尝试使用它,就需要定义它,如下所示:
struct QVariant
{
// stuff goes here
};
错误告诉您不完整(声明但未定义),因此无法使用。您应该包含标头<QVariant>
以获取QVariant
的定义,以使其完整,从而可以使用。