日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLite单例模式(QT4)

發布時間:2025/3/21 数据库 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLite单例模式(QT4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我這里用的是QT4創建的Gui應用。
在開始寫SQL單例之前要在.pro工程中添加QT += core gui sql

.h文件

#ifndef MYSQL_H #define MYSQL_H#include <QVariant> #include <QSqlDatabase> #include <QSqlQuery> #include <QDebug> class MySql { public:static MySql*Instance() //獲取單例指針{if(!m_sql)m_sql = new MySql();return m_sql;}//提供對外接口void CreateTable();void InsertData();void SelectData();void DeleteData(); private://提供一個private 構造函數(防止外部調用構造類的實例)MySql();~MySql();static MySql *m_sql; //靜態指針static QSqlDatabase db; };#endif // MYSQL_H

.c文件

#include "mysql.h"MySql* MySql::m_sql = NULL; QSqlDatabase MySql::db;MySql::MySql() {if(QSqlDatabase::contains("qt_connect_db_fail!!"))db = QSqlDatabase::database("qt_connect_db_fail!!");elsedb = QSqlDatabase::addDatabase("QSQLITE");db.setDatabaseName("test.db");if(!db.open()){qDebug()<<"open fail!";}else{qDebug()<<"open success";}CreateTable(); //InsertData();//SelectData();//DeleteData();//SelectData(); }MySql::~MySql() {db.close(); } void MySql::CreateTable() {QSqlQuery query(db);QString base = "create table student(id int primary key,name text,age int)";if(!query.exec(base)){qDebug()<<"Error:faild to Create table!";}else{qDebug()<<"Success to Create table!";} } void MySql::InsertData() {QSqlQuery str_query(db);str_query.exec("insert into student values(1,'zhangsan',18)");str_query.exec("insert into student values(2,'lisi',19)"); } void MySql::SelectData() {QSqlQuery str_query(db);QString data = "select *from student";if(!str_query.exec(data)){qDebug()<<"Error:faild to SelectData!";}else{while(str_query.next()){int id = str_query.value(0).toInt();QString str_name = str_query.value(1).toString();int age = str_query.value(2).toInt();qDebug()<<QString("id:%1 name:%2 age:%3").arg(id).arg(str_name).arg(age);}} } void MySql::DeleteData() {QSqlQuery str_query(db);QString data = "delete from student where name = 'lisi' ";if(!str_query.exec(data)){qDebug()<<"Error:faild to DeleteData!";}else{qDebug()<<"Success to DeleteData!";} }

總結

以上是生活随笔為你收集整理的SQLite单例模式(QT4)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。