先安装好sqlite,然后去系统软件源中找qt自带的sqlite的驱动安装。
Linux平台下解决Qt5连接mysql数据库的问题:输入sudoapt-getinstalllibqt5sql5-mysql解决,这种方法只能解决Qt是用sudoapt-getinstallqt-sdk命令装的低版本的Qt5(如5、2、x)缺少MySQL驱动问题,如果你的Qt5版本为5、7、X,那么就不能用这种方法解决,请参考下面的方法。
qt中有qtsql模块支持该 *** 作,底层一般都是用驱动插件实现的,利用的是sqlite数据库,相关的类有
qsqldatabase, qsqlquery,qsqlrecord等,谢谢采纳
你这种全字段匹配查询不能这么写的,这种查询叫全文检索,sqlite有现成的全文检索方案,需要在sqlite上做些配置
官方文档上有写的
>
在QT的widget中用tableview显示sqlite数据库表中的内容。
假设有数据库文件testdb,有表table(id integer, name nvarchar(20),age integer),且有数条数据。
首先用QTcreator创建一个基于Widget类的窗口,再拖一个tableview到widget中,保存,然后按照如下方法进行:
1在widgeth中增添头文件:QtSql/qsqlh、QtSql/QsqlDatabase、QtSql/QsqlQuery、QtSql/QsqlQueryModel
2在pro工程文件中添加:QT+=sql
3在widgetcpp中widget的构造函数中添加如下代码:
QsqDatabase db = QsqlDatabase::addDatabase("QSQLITE");
dbsetDatabaseName("testdb");
if(!dbopen())
{
//错误处理
}
static QSqlQueryModel model = new QSqlQueryModel(ui->tableview);
model->setQuery(QString("select from table"));
model->setHeaderData(0,Qt::Horizontal,QObject::tr("编号"));
model->setHeaderData(1,Qt::Horizontal,QObject::tr("姓名"));
model->setHeaderData(2,Qt::Horizontal,QObject::tr("年龄"));
ui->tableview->setModel(model);
db->close();
这样之后,table表里的内容就会显示到tableview中了。
以上就是关于Qt5 linux 无法连接sqlite全部的内容,包括:Qt5 linux 无法连接sqlite、QT中如何用界面对数据库的直接 *** 作,包括查询和连接、QT sqlite 模糊查询 表中全部字段数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)