Qt:无法连接到SQLite DB

时间:2013-05-30 01:51:31

标签: sqlite qt

在Qt Creator中完成我的第一步并且已经丢失了:

对于Qt向导中基本的,未更改的启动应用程序,我已将sql添加到项目文件

QT       += core gui sql

以及下面的行到mainwindow.cpp

#include <QSqlDatabase>

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("/home/vaettchen/testSQL/myDB.sqlite");
bool db_ok = db.open();

根据Qt网站上的各种消息来源以及此处的SO,我原本预计会这样做。但是我收到编译错误

../testSQL/mainwindow.cpp:20:1: error: 'db' does not name a type

其中第20行是db.setDataBaseName()行。 我试图通过Google了解这意味着什么以及可以做些什么,但我发现的评论并不是很有用。

在Linux 3.5上使用Qt Creator 2.7.0(Qt 4.8.4)

1 个答案:

答案 0 :(得分:1)

似乎编译器试图将'db'解释为一种类型,这使我相信第19-21行不在函数中。

#include "mainwindow.h"    
#include "ui_mainwindow.h"
#include <QSqlDatabase>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName("/home/vaettchen/testSQL/myDB.sqlite");
    bool db_ok = db.open();
}