详解Qt 连接SQLite操作
创始人
2024-08-02 13:00:41
0

Qt 连接SQLite操作是本文要介绍的内容,本文主要是介绍往数据库中添加数据的插入操作,首先下载SQLite数据库

首先到SQLite官方网站下载:

http://www.sqlite.org/download.html

得到sqlite3.exe。即可.就可以操作数据库了。

运行cmd到该指定的目录下,使用如下命令:如

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17>sqlite3.exe test 

并有以下提示:Enter SQL statements terminated with a ";"  

就可以创建一个名为test的数据库了.你可以使用.help命令查看各命令.

.databases   可以得到所有的数据库。

  可以使用如下命令得到一张表,并插入数据。***.quit退出.
 
F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> create table student(id varchar(10),name varchar(20),age smallint);  

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> select * from student;  

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> insert into student values('1001' , 'lovesizhao' ,26);  

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> select * from student;  

  1. 1001|lovesizhao|26    

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> drop table student;  

F:\软件\学习软件\数据库\SQlite\sqlite-3_6_17> .quit 

而drop table student;   可以删除该表格.其实大部操作都属于SQL的相同没什么改变.

也可以将该数据库备份至output.sql,也称为重定向

  1. sqlite3.exe test.db3 >output.sql 

***可以将数据库保存为test.db3即可。

下面讲解如何通过Qt来访问刚才建立的数据库:

  1. QSqlDatabase dbconn = QSqlDatabase::addDatabase("QSQLITE", "testSQLite");     
  2.  
  3.    dbconn.setDatabaseName("test.db3");  //当前目录下的test.db3数据库文件     
  4.      
  5.    //SQLite数据库文件可用SQLite的命令行工具(c:\sqlite3.exe 数据库名)或用SQLite GUI工具创建,SQLiteSpy     
  6.  
  7.    if(!dbconn.open())     
  8.    {     
  9.             
  10.        return;     
  11.    }     
  12.    
  13.    QTableView *view;     
  14.    QSqlTableModel *model;     
  15.    view = new QTableView();     
  16.    model = new QSqlTableModel(this,dbconn);     
  17.    model->setTable("test");     
  18.    model->select();     
  19.    view->setModel(model);   

也可以直接访问内存得到:如

  1. QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");  
  2.     db.setDatabaseName(":memory:");  
  3.     if (!db.open()) {  
  4.         QMessageBox::critical(0, qApp->tr("Cannot open database"),  
  5.             qApp->tr("Unable to establish a database connection.\n"  
  6.                      "This example needs SQLite support. Please read "  
  7.                      "the Qt SQL driver documentation for information how "  
  8.                      "to build it.\n\n"  
  9.                      "Click Cancel to exit."), QMessageBox::Cancel);  
  10.         return false;  
  11.     }  
  12.  
  13.     QSqlQuery query;  
  14.     query.exec("create table person (id int primary key, "  
  15.                "firstname varchar(20), lastname varchar(20))");  
  16.     query.exec("insert into person values(101, 'Danny', 'Young')");  
  17.     query.exec("insert into person values(102, 'Christine', 'Holand')");  
  18.  
  19.     query.exec("create table images (locationid int, file varchar(20))");  
  20.     query.exec("insert into images values(0, 'images/oslo.png')");  
  21.     query.exec("insert into images values(1, 'images/brisbane.png')"); 

 以下的操作只是往数据库中添加数据的插入操作.如果想进一步学习,请查找相当资料。

小结:关于详解Qt 连接SQLite操作的内容介绍完了,希望本文对你有所帮助!更多关于数据库的内容请参考编辑推荐。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...