QStringList drivers = QsqlDatabase::drivers();
qDeBUG() << drivers;
运行之后,在应用程序输出的视窗看到你的qt支持的数据库:("QsqlITE","QODBC3","QODBC")
3、ok,恭喜你,我们的qt很强大,他可以用sqlite,不需要任何多余的插件,接下来写打开DB的程序: 头文件: #include<QObject> #include <Qtsql/QsqlDatabase>
#include <QMessageBox.h>
class sqldb : public QObject
{
Q_OBJECT
public:
explicit sqldb(QObject *parent = 0);
voID connectDB();//创建连接函数
voID closeDB();//创建关闭函数
signals:
public slots:
private:
QsqlDatabase db;//建立数据库的文件描述符
};
源文件:
#include "sqldb.h"
sqldb::sqldb(QObject *parent) :
QObject(parent)
{
}
voID sqldb::connectDB(){
db = QsqlDatabase::addDatabase("QsqlITE");//添加sqlite类型数据库
db.setDatabasename("server.db");//指定数据库名,如果不存在将自动创建,创建在你的workplace目录下
if(!db.open()){
QMessageBox::critical(NulL,"sqlDB","connect error");
return;
}
}
voID sqldb::closeDB(){
db.close();
}
这样就完成连接创建db的基本 *** 作了,当然,如果你想把查询,删除,修改的函数也加上,那就更加完美了,内事不决问百度,外事不决问谷歌。
4、读出数据表的内容,并显示到qt界面上:
首先必须要再.ui文件中拖进来一个QtableVIEw控件,命名为tablevIEw,我们要使用tablevIEw来显示sqlite数据表中的内容,简单。
显示窗口的头文件:
#include <QMainWindow>
#include <sqldb.h>
#include <Qtsql/QsqltableModel>
namespace Ui {
class SubMainWindow;
}
class SubMainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit SubMainWindow(QWidget *parent = 0);
~SubMainWindow();
private:
Ui::SubMainWindow *ui;
sqldb* db;//数据库文件描述符
QsqltableModel* usermodel;//数据表model
};
显示窗口的源文件:
#include "submainwindow.h"
#include "ui_submainwindow.h"
#include <QtableVIEw>
#include <Qtsql>
SubMainWindow::SubMainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::SubMainWindow)
{
ui->setupUi(this);
db = new sqldb(this);//建立
db->connectDB();//连接
int test1 = 1234;
qDeBUG() << test1;
usermodel = new QsqltableModel;//建立用户模式空间
usermodel->clear();//初始化用户模式
int test = 123;
qDeBUG() << test;
usermodel->settable("lishuang");//设置用户模式,必须确保你新创建的数据库里有一个表名叫这个,才能查得到数据哦!~
usermodel->setheaderData(0,Qt::Horizontal,"name");
usermodel->setheaderData(1,"age");
usermodel->setheaderData(2,"password");
usermodel->select();
ui->tableVIEw->setModel(usermodel);
}
SubMainWindow::~SubMainWindow()
{
delete ui;
}
这样做下来,你是看不到你的数据表内容的,因为你之前第三步创建的server.db里根本没有数据,你需要找到你创建的DB,用SQL语句插入一个数据表,再插入若干条记录,才能读出记录并显示在窗口上,如果你失败了,认真阅读本文红色部分的注释,那就是你的问题所在,以上代码特此鸣谢百度,CSDN,道客巴巴,如有问题请留言讨论,共同进步,我爱你们,亲爱的“程序猿”与“码字猴儿”们。结尾了,有图有真相:
总结 以上是内存溢出为你收集整理的qt与SQLite数据库全部内容,希望文章能够帮你解决qt与SQLite数据库所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)