qt数据库操作
来源:互联网 发布:ubuntu 14.04 pyqt4 编辑:程序博客网 时间:2024/05/18 08:05
先来看看qt支持的数据库类型:
Driver Type Description
QDB2
IBM DB2
QIBASE
Borland InterBase Driver
QMYSQL
MySQL Driver
QOCI
Oracle Call Interface Driver
QODBC
ODBC Driver (includes Microsoft SQL Server)
QPSQL
PostgreSQL Driver
QSQLITE
SQLite version 3 or above
QSQLITE2
SQLite version 2
QTDS
Sybase Adaptive Server
下面主要说明使用QODBC和QSQLITE的使用方法:
一:QODBC
QODBC使用windows系统自带的ODBC数据源来连接服务器上的数据库,具体配置方法,网上资料很多,我就不废话了。
我配置的ODBC名字为test1,ip地址设为本机地址。
那么QT对ODBC的支持设置为:
在项目文件中添加:
QT+=sql
在需要使用数据库的文件中添加头文件:
#include <Qtsql>
然后定义一个:QSqlDatabase db;
语法代码为:
db = QSqlDatabase::addDatabase("QODBC","test1");
//连接ODBC中名为test1的数据源
QString dsn = QString::fromLocal8Bit( "DRIVER={SQL SERVER};SERVER=127.0.0.1;DATABASE=DataMon");
db.setDatabaseName( dsn );//设置驱动方式,服务器地址(我的为本机地址,所以设为回环地址),默认数据库名称
if( !db.open( ) )// 打开ODBC{
QMessageBox::critical(0,QLabel::trUtf8("数据库连接失败"),db.lastError().text());
return false;
}
QSqlQuery qurey(db);// 执行sql语句
bool succes=qurey.exec("SELECT distinct Farm_ID FROM Cage_Table");
if( succes )
{
while(qurey.next())
{
qDebug()<<qurey.value(0).toInt();// 输出查询数据
。。。。
}
}
至此结束
当然这些都是一些很基本的语句,其他还有很多方式可以设置数据库
二、QSQLITE3
同样的,
dbconnet = QSqlDatabase::addDatabase("QSQLITE");}/*
SystemSettingLastRecord : 访问Operation_Record 库中System_Setting表的最后一条记录textlist : 保存数据库中Text类型数据,数据返回*/void dataBaseConnect::SystemSettingLastRecord(QStringList *textlist){dbconnet.setDatabaseName("Operation_Record");if( dbconnet.open() ){
qDebug()<<"succes";}
elseqDebug()<<"failed";// QStringList tablelist = dbconnet.tables(QSql::Tables);QSqlQuery query;//(dbconnet);bool ok = query.exec("select * from System_Setting order by R_ID desc limit 0,1;");// qDebug()<<ok<<"ok?"<<tablelist;/*数据类型integertext texttexttext integerintegerDATETIME列名R_IDUsername PortCage_ChooseOrder_Text Send_IntervalHex_SRRecord_Time*/while( query.next() ){
*textlist<<query.value(1).toString();//Username*textlist<<query.value(2).toString();//Port*textlist<<query.value(3).toString();//Cage_Choose*textlist<<query.value(4).toString();//Order*textlist<<query.value(5).toString();//Send_Interval*textlist<<query.value(6).toString();//Hex_SR}
dbconnet.close();
- Qt操作SQLite数据库
- qt 数据库操作
- QT操作数据库
- QT之数据库操作
- QT 操作Sqlite数据库
- Qt操作数据库
- qt数据库操作
- qt数据库操作
- Qt 数据库操作
- QT 数据库操作
- QT操作Sqlite数据库
- Qt数据库操作
- Qt数据库操作
- Qt数据库操作
- qt数据库的操作
- Qt操作数据库
- QT操作数据库
- Qt数据库操作
- Java 对Oracle Clob(大字符串)格式的操作 增改查
- mencached笔记
- iOS获取应用列表
- linux系统编程之信号 test10_8.c
- Oracle时间运算
- qt数据库操作
- android menu菜单 onCreateOptionsMenu onMenuItemSelected onContextItemSelected
- linux系统编程之信号 test10_9.c
- 那年,那场青春繁华梦
- POI操作excel示例工具类
- 组织结构转型期的人力资源管理
- linux系统编程之信号 test10_10.c
- [Android]使用ActivityGroup来切换Activity和Layout
- qt设置对话框或控件为固定大小