Qt数据库总结.doc
文本预览下载声明
#include?QT += sql
QSqlDatabase类实现了数据库连接的操作QSqlQuery类用来执行SQL语句QSqlRecord类 封装数据库所有记录
第一:QSqlDatabase类QSqlDatabase db = QSqlDatabase::addDatabase(QSQLITE);? 采用QSQLITE数据库,QMYSQL数据库有问题?db.setHostName(localhost); //设置数据库主机名?db.setDatabaseName(test); //设置数据库名?db.setUserName(root); //设置数据库登入用户名?db.setPassword(123456); //设计数据库登入密码?db.open()打开数据库连接
db.close();//释放数据库
? QStringList drivers = QSqlDatabase::drivers();//静态成员函数,是类的成员函数,不是对象的.返回所有可用的数据库驱动程序的清单?? drivers.removeAll(QMYSQL3);? //删除列表中的项??? foreach(QString driver, drivers)? //遍历数据库驱动? ,测试数据库驱动种类??? qDebug() “\t” driver;
建立数据库文件? QSqlDatabase db = QSqlDatabase::addDatabase(QSQLITE);??? db.setDatabaseName(database.db);??? if(!db.open()) return false;??? QSqlQuery query;?query.exec(create table Login(id INTEGER PRIMARY KEY autoincrement, ? //id会自动增加,因为这里不能重复,否则数据库无法修改??????????????????? goods int, store int, time nvarchar(50), type int,? place nvarchar(50),temperature nvarchar(10) ));??? //query.exec(insert into Login values(1,1002, 1,2011-9-6,1,common,24));牋 // query.exec(insert into Login values(2,1005, 1,2011-9-6,1,common,24));牋?//query.exec(insert into Login values(3,1010, 2,2011-9-7,2,common,25));//牋?query.exec(insert into Login values(4,1012, 2,2011-9-7,2, common,25));牋?query.exec(insert into Login values( 1,NULL , NULL,NULL, NULL,NULL,NULL ));牋?query.exec(insert into Login values( 2,NULL , NULL,NULL, NULL,NULL,NULL ));牋?query.exec(insert into Login values( 3,NULL , NULL,NULL, NULL,NULL,NULL ));牋?query.exec(insert into Login values( 4,NULL , NULL,NULL, NULL,NULL,NULL ));牋?query.exec(insert into Login values( 5,NULL , NULL,NULL, NULL,NULL,NULL ));牋?query.exec(insert into Login values( 6,NULL , NULL,NULL, NULL,NULL,NULL ));牋牋 第二:QSqlQuery类,查询数据库,插入值到数据库等操作数据库?QSqlQuery query;?query.prepare(INSERT INTO T_USER (name, age) VALUES (:name, :age)); //准备执行SQL查询query.bindValue(:name, justin);?? //在这定占位符上确定绑定的值query.bindValue(:age, 33);?query.exec();?
?QSqlQuery query; /
显示全部