摘自:《c++ gui qt4程式設計》
在qt中,實現與資料庫程式設計相關的模組是qtsql模組,該模組提供了一組與平台以及資料庫種類無關的sql資料庫訪問介面。此介面通過驅動程式與各種資料庫進行通訊。qt桌面版提供的驅動程式如下:
驅動程式
資料庫qdb2
ibm db2 7.1版以及更高版本
qoci
甲骨文oracle
qodbc
odbc(包括微軟公司的sql伺服器)
qmysql
mysql
qpsql
postgresql的7.3版以及更高階的版本
一、連線資料庫
bool conndb()
return true;
}
二、運算元據庫
bool querydb(const qstring &sql)
return false;
}
三、例項
/*
*功能:乙個登入小模組
*軟體環境:ubuntu 9.04, qt4.5, postgresql8.3
*main.cpp
*/int main(int argc, char *argv)
/*
*login.h
*說明:登入主介面的標頭檔案
*/#ifndef login_h
#define login_h
#include class qlineedit;
class qpushbutton;
class login :public qdialog
;#endif
/*
*login.cpp
*說明:登入主介面
*/#include #include "login.h"
#include "mysql.h"
login::login(qwidget *parent)
:qdialog(parent)
void login::logined()
else
}
/*
*mysql.h
*說明:封裝的sql連線
*/#ifndef mysql_h
#define mysql_h
#include class mysql :public qobject
;#endif
/*
*mysql.cpp
*說明:封裝的sql連線
*/#include #include #include #include "mysql.h"
mysql::mysql(qobject *parent)
:qobject(parent)
bool mysql::conndb()
return true;
}bool mysql::querydb(const qstring &sql)
return false;
}
/*
*mysql.sql
*說明:在postgresql資料庫中建錶用的sql語句
*/-- drop table users;
create table users
( "name" character varying(20) not null,
"password" character varying(20) not null
)with (oids=false);
alter table users owner to konglingchun;
insert into users (name, password)
values ('001', '1234');
注意:1、在.pro檔案中,別忘了加上 qt += sql
2、如果提示沒有postgrestsql資料庫的驅動,可以通過命令sudo apt-get install libqt4-sql-psql來安裝驅動;
如果您用的是mysql資料庫,那麼命令是sudo apt-get install libqt4-sql-mysql。
我這裡有乙份很全的qt4的原始碼包檔案,想用哪個庫檔案直接安裝就可以了。
Qt資料庫程式設計
qtsql模組提供了乙個平台無關且資料庫無關的訪問sql資料庫的介面。qt中的每個資料庫連線用乙個qsqldatabase物件來表示 qt使用不同driver來和各種不同資料庫的api進行通訊。qsqlquery提供了直接執行任意sql語句的特性 此外還提供了兩個高層次的無需sql命令的資料庫介面 ...
QT 資料庫程式設計一
qt如果要進行網路程式設計首先需要在.pro中新增如下 qt network logindlg.h ifndef logindlg h define logindlg h include include include include class logindlg public qdialog en...
資料庫概述之資料庫程式設計
嵌入式sql程式設計例項 exec sql begin declare section 主變數說明開始 char deptname 20 char hsno 9 char hsname 20 char hs 2 int hsage int newage exec sql end delcare se...