對QSqlite資料庫的操作

2021-06-16 10:38:48 字數 2075 閱讀 7935

首先新建乙個資料庫:

qsqldatabase db = qsqldatabase::adddatabase("qsqlite");

db.setdatabasename("database.db");

給資料庫檔案加密:

db.setusername("hsl");

db.setpassword("000000"); //注意,這僅僅是對database.db這個檔案進行加密

將資料庫顯示在qtableview中

qtableview *selectview;

qsqltablemodel *model;

model=new qsqltablemodel(this);

model->settable("表名");

model->seteditstrategy(qsqltablemodel::onmanualsubmit);

model->select();

model->setheaderdata(0,qt::horizontal,tr("xx"));

model->setheaderdata(1,qt::horizontal,tr("xx"));

model->setheaderdata(2,qt::horizontal,tr("xx"));

selectview=new qtableview(this);

selectview->setalternatingrowcolors(true);//可以改變qableview顏色

selectview->setmodel(model);

對qtableview中的資料進行操作:

在tableview中公升序排列:

model->setsort(0,qt::ascendingorder); //id屬性,即第0列,公升在tableview中序排列

model->select();

在tableview中按降序 排列:

model->setsort(0,qt::descendingorder);

model->select();

在tableview中刪除行

int currow = ui->tableview->currentindex().row();   //獲取選中的行  

model->removerow(currow);  //刪除該行

int ok = qmessagebox::warning(this,tr(「刪除當前行!」),tr(「你確定刪除當前行嗎?」),qmessagebox::yes,qmessagebox::no);

if(ok == qmessagebox::no)

else 

model->submitall();

在tableview中插入

int rownum = model->rowcount(); //獲得表的行數

int id = 10;

model->insertrow(rownum); //新增一行

model->setdata(model->index(rownum,0),id);

對資料庫表進行查詢

(1)全字匹配

qstring str = "hsl";

model->setfilter(qobject::tr("name = '%1'").arg(str));

model->select();

(2)模糊匹配

qstring str = a_ui->find_lineedit->text();

//qt正規表示式

rx.setpatternsyntax(qregexp::regexp);

//匹配格式為所有數字組成的字串,位數不限

rx.setpattern(qstring("^[0-9]+$"));

//如果全是數字,進行 id 的模糊查詢

if(rx.exactmatch(str))

else

對QSqlite資料庫的操作

首先新建乙個資料庫 qsqldatabase db qsqldatabase adddatabase qsqlite db.setdatabasename database.db 給資料庫檔案加密 db.setusername hsl db.setpassword 000000 注意,這僅僅是對da...

對邏輯資料庫的操作

使用資料庫語言時,一定要注意以分號結尾 1 建立資料庫create database 資料庫名 create database scores 建立指定名稱的資料庫,字符集使用的是 安裝資料庫時的指定的字符集 create database 資料庫名 character set 字符集 create ...

python對access資料庫的操作

15九月 2010 usr bin python write by script hkcat.org 快速對mdb執行sql操作 coding utf 8 import os import random import win32com.client import time import shutil...