大佬教程收集整理的这篇文章主要介绍了Qt连接SQLite【转自http://mobile.51cto.com/symbian-27...,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
QT数据库实例QT sqlite操作是本文介绍的内容,不多说,我们先 来看看内容,首先到sqlite官方网站下载:
http://www.sqlite.org/download.HTML
得到sqlite3.exe。即可.就可以操作数据库,不用安装,不会修改系统信息。
我们在DOS下运行sqlite3.exe的目录运行sqlite3.exe test就可以创建一个名为test的数据库。
下面我们就可以创建数据库的表了如:
注意sqlite命令是基于sql的,必须在命令后面加上“;”,否则sqlite会认为一条语句还没有输入完成,总会提示用户输入。
SELEct * from student;//查看student数据库表的所有内容。这个时候会在sqlite3.exe目录得到一个名为test的文件,就是刚刚生成的数据库文件
当然这是在DOS操作,我将DOS下操作得到的数据库文件test放到Qt工程目录,在QT控制台程序中读取操作,但是却不能显示中文,不知道为什么。后来改成直接都在QT程序中增加数据库内容,也出现中文乱码,在网上找到答案:
将QT设置编码的地方改为:QTextCodec::setCodecForTr(QTextCodec::codecForLocale()));设置为本地编码,插入数据时对查询语句进行QObject::tr()
(首先应该在.pro文件中增加一句:QT += sql)
如下源码:
- #include<QtCore/QCoreApplication>
- #include<Qtsql>
- #include<QTextCodec>
- intmain(intargc,char*argv[]){
- QCoreApplicationa(argc,argv);
- QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
- QsqlDatabasedbconn=QsqlDatabase::addDatabase("QsqlitE");//添加数据库驱动
- dbconn.setDatabasename("mytest.db");//在工程目录新建一个mytest.db的文件
- if(!dbconn.open()){
- qDeBUG()<<"fdsfds";
- }
- Qsqlqueryquery;//以下执行相关QSL语句
- query.exec("createtablestudent(IDvarchar,namevarchar)");//新建student表,ID设置为主键,还有一个name项
- query.exec(QObject::tr("inserTintostudentvalues(1,'李刚')"));
- query.exec(QObject::tr("inserTintostudentvalues(2,'苹果')"));
- query.exec(QObject::tr("inserTintostudentvalues(3,'葡萄')"));
- query.exec(QObject::tr("inserTintostudentvalues(3,'李子')"));
- query.exec(QObject::tr("inserTintostudentvalues(4,’橘子')"));
- query.exec(QObject::tr("inserTintostudentvalues(5,'核桃')"));
- query.exec(QObject::tr("inserTintostudentvalues(6,'芒果')"));
- //query.exec(QObject::tr("SELEctID,namefromstudentwherEID>=1"));
- query.exec("SELEctID,namefromstudentwherEID>=1");
- while(query.next())//query.next()指向查找到的第一条记录,然后每次后移一条记录{
- intele0=query.value(0).toInt();//query.value(0)是ID的值,将其转换为int型
- QStringele1=query.value(1).toString();
- qDeBUG()<<ele0<<ele1;//输出两个值
- }
- query.exec(QObject::tr("dropstudent"));
- returna.exec();
- }
以上是大佬教程为你收集整理的Qt连接SQLite【转自http://mobile.51cto.com/symbian-27...全部内容,希望文章能够帮你解决Qt连接SQLite【转自http://mobile.51cto.com/symbian-27...所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。