Qt操作SQLite資料庫——建立、開啟、關閉、增加、刪除和修改操作
可以通過一些工具對SQLite進行管理,如下:if(!database.open()) { qDebug()<<database.lastError(); qFatal("failed to connect.") ; } else { //QSqlQuery類提供執行和操作的SQL語句的方法。 //可以用來執行DML(資料操作語言)語句,如SELECT、INSERT、UPDATE、DELETE, //以及DDL(資料定義語言)語句,例如CREATE TABLE。 //也可以用來執行那些不是標準的SQL的資料庫特定的命令。 QSqlQuery sql_query; QString create_sql = "create table student (id int primary key, name varchar(30), age int)"; QString select_max_sql = "select max(id) from student"; QString insert_sql = "insert into student values (?, ?, ?)"; QString update_sql = "update student set name = :name where id = :id"; QString select_sql = "select id, name from student"; QString select_all_sql = "select * from student"; QString delete_sql = "delete from student where id = ?"; QString clear_sql = "delete from student"; sql_query.prepare(create_sql); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { qDebug()<<"table created!"; } //查詢最大id int max_id = 0; sql_query.prepare(select_max_sql); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { while(sql_query.next()) { max_id = sql_query.value(0).toInt(); qDebug()<<QString("max id:%1").arg(max_id); } } //插入資料 sql_query.prepare(insert_sql); sql_query.addBindValue(max_id+1); sql_query.addBindValue("name"); sql_query.addBindValue(25); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { qDebug()<<"inserted!"; } //更新資料 sql_query.prepare(update_sql); sql_query.bindValue(":name", "Qt"); sql_query.bindValue(":id", 1); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { qDebug()<<"updated!"; } //查詢部分資料 if(!sql_query.exec(select_sql)) { qDebug()<<sql_query.lastError(); } else { while(sql_query.next()) { int id = sql_query.value("id").toInt(); QString name = sql_query.value("name").toString(); qDebug()<<QString("id:%1 name:%2").arg(id).arg(name); } } //查詢所有資料 sql_query.prepare(select_all_sql); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { while(sql_query.next()) { int id = sql_query.value(0).toInt(); QString name = sql_query.value(1).toString(); int age = sql_query.value(2).toInt(); qDebug()<<QString("id:%1 name:%2 age:%3").arg(id).arg(name).arg(age); } } //刪除資料 sql_query.prepare(delete_sql); sql_query.addBindValue(max_id); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { qDebug()<<"deleted!"; } //清空表 sql_query.prepare(clear_sql); if(!sql_query.exec()) { qDebug()<<sql_query.lastError(); } else { qDebug()<<"cleared"; } } //關閉資料庫 database.close(); //刪除資料庫 QFile::remove("database.db");
相關推薦
Qt操作SQLite資料庫——建立、開啟、關閉、增加、刪除和修改操作
if(!database.open()) { qDebug()<<database.lastError(); qFatal("failed to connect.") ; } else { //QSqlQuery類提供執行和操作的SQL語句的方法。 //可以用來執行DML(資料操作語言)語句,
42.QT-QSqlQuery類操作SQLite資料庫(建立、查詢、刪除、修改)詳解
Qt 提供了 QtSql 模組來提供平臺獨立的基於 SQL 的資料庫操作。這裡我們所說的“平臺 獨立”,既包括作業系統平臺,也包括各個資料庫平臺,Qt支援以下幾種資料庫: QT自帶SQLITE資料庫,不需要再安裝 QTDS在Qt4.7起已經被移除
HiveQL 資料定義語言使用(一)—Hive中資料庫的建立、顯示、刪除和修改操作介紹
問題導讀: 1、建立資料庫命令中DATABASE可以被哪個關鍵字代替使用? 2、在建立資料庫的時候如何指定資料庫存放路徑? 3、如果一個數據庫中含有表,那麼刪除該資料庫有哪兩種方式? 4、刪除資料庫命令
.NET 對 XML 進行創建,增加,刪除,修改操作整理
res add post 做了 引用 nbsp order protected png 前言: 最近做了一個項目,程序A在一個服務器程序B在另一臺服務器,然而主程序A需要訪問程序B的圖片集文件夾下載到本服務器上,為了防止多次對Web Services進行調用,在主
python資料儲存系列教程——python操作sqlite資料庫:連線、增刪查改、指令執行
全棧工程師開發手冊 (作者:欒鵬) python操作sqlite資料庫 sqlite資料庫以.db格式的檔案形式存在,所以不需要安裝驅動和應用系統,在標準庫中也集成了sqli
QT:SQLite資料庫 '增、刪、改、查'
SQLite資料庫 '增、刪、改、查' 1. 資料庫簡介 資料庫指的是以一定方式儲存在一起,能為多個使用者共享,具有儘可能小的冗餘度的特點,是與應用程式彼此獨立的資料集合。 // 一定方式:可以
Qt操作SQLite資料庫
資料庫連線由任意字串標識。在沒有指定連線的情況下,QSqlDatabase可以提供預設連線供Qt其他的SQL類使用。建立一條資料庫連線的程式碼如下: //以QSQLITE為資料庫型別,在本程序地址控制元件建立一個SQLite資料庫 QSqlDatabase db = QSqlDatabas
android sqlite 資料庫建立及增刪改查的操作實現
在android 開發工程中,我們經常會把資料儲存到本地資料庫,然後進行增刪該查的操作,為了提高工作效率,近期我有空的時候稍微整理了一下,下面分享下 第一步首先定義下表中的列名,我們要建一個類 implements BaseColumns ,下面給出原始碼 /** *
Linux C程式設計學習筆記(2):open、creat、close函式及檔案的建立、開啟與關閉
my_create.c #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include
QT學習之路————使用QT自帶的QSqlDatabase類簡單操作sqlite資料庫
#include "dialog.h" #include "ui_dialog.h" #include <QSqlDatabase> #include <QSqlQuery> #include <QDebug> Dialog::Dialog(QWidget *parent
四、文件內核數據結構和原子操作
保持 color 引用計數器 睡眠 stdlib.h app 原子 長度 文件創建 4.1 緩存 buff 說明 一般設置緩存 buff 的大小是由一定的規律的,就是根據磁盤塊的大小來定。 Linux下輸入命令: df -k 查看磁盤 可以用命令查看下
資料庫工作筆記010---Mysql中用SQL增加、刪除欄位,修改欄位名、欄位型別、註釋,調整欄位順序總結
JAVA技術交流QQ群:170933152 Mysql中用SQL增加、刪除欄位,修改欄位名、欄位型別、註釋,調整欄位順序總結 在網站重構中,通常會進行資料結構的修改,所以新增,刪除,增加mysql表的欄位是難免的,有時為了方便,還會增加
封裝nodejs操作sqlite資料庫的模組
// import node modules package const fs = require('fs'); const path = require('path') const sqlite3 = require("sqlite3").verbose(); //import ow
Python 操作 SQLite 資料庫
寫在之前 SQLite 是一個小型的關係型資料庫,它最大的特點在於不需要單獨的服務、零配置。我們在之前講過的兩個資料庫,不管是 MySQL 還是 MongoDB,都需要我們安裝。安裝之後,然後執行起來,其實這就相當於已經有一個相應的服務在跑著。 SQLite 與前面所說的兩個資料庫不同。首先Python
Ubuntu中操作 SQlite資料庫 簡單應用(直接安裝sqlite資料庫檔案,後呼叫)
注:本人沒有系統的學習,只是瞭解一點,希望對你有點幫助. 終端命令安裝:(若提醒許可權不足,新增sudo,輸入密碼) sudo apt-get install sqlite sqlite3 檢查死否安裝成功: sqlite3 test.db 成功會
Android資料持久化—SQLite資料庫-建立資料庫(一)
在編寫軟體的過程中,我們通常會在移動裝置的本地儲存一些資料,這些資料如何儲存,就是使用到一個android 端的輕量級資料庫SQLite,在資料儲存大家都應該使用過SharedPreferences,這個東西只適合儲存一些簡單的資料,但是到了
C#操作SQLite資料庫時出錯總結--錯誤:“Insufficient parameters supplied to the command”
上網找了好久,有的說是引數名字錯了,有的說把"@parameter"改成"?"就可以了。 解決C#操作SQLite資料庫時出現“Insufficient parameters supplied to the command”的錯誤 將如下SQL語句: insert in
PC軟體開發技術之三:C#操作SQLite資料庫
我們在開發應用是經常會需要用到一些資料的儲存,儲存的方式有多種,使用資料庫是一種比較受大家歡迎的方式。但是對於一些小型的應用,如一些移動APP,通常的資料庫過於龐大,而輕便的SQLite則能解決這一問題。不但操作方便,而且只需要要一個檔案即可,在這裡我們來說一說使用C#語言操作SQLite資料庫
C#對資料庫的新增、刪除和修改
string str = "server=NO1;database=SuperMarket;integrated security=true"; SqlConnection c
Android多執行緒操作sqlite資料庫連線池框架的一種設計思路
我們在Android應用程式開發當中經常會用到資料庫,一般在有兩種主要開發思路。 第一種:每次需要對資料庫操作的時候建立連線,操作完成後,馬上關閉連線。 這個方式一般用於不怎麼頻繁操作資料庫的情況,用完後馬上關閉達到節省系統資源的目的。 第二種:應用程式一