您的位置:首页 > 编程语言 > Qt开发

QT之数据库

2017-02-26 21:18 120 查看
想和数据库进行通信,首先要知道支持的数据库驱动。

使用代码查看:

QSqlDatabase 类的静态函数drivers();

.pro文件要加上 QT += sql

QStringList drivers = QSqlDatabase::drivers();
foreach (QString driver, drivers) {
qDebug()<<driver;
}


第二步要创建数据库连接:我的例子是连接MySql数据库,有可能会有错误:

QSqlDatabase: QMYSQL driver not loaded :

解决方法:首先找到你的MySQL 数据库,去掉路径中的空格,这很重要。

然后找到libmySQL.dll文件复制到你安装Qt的bin目录下

//connection1连接名,QMYSQL代表连接的是MySQL
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL","connection");
db.setHostName("127.0.0.1"); //数据库服务器IP
db.setUserName("root"); //数据库用户名
db.setPassword("root"); //密码
db.setDatabaseName("agriculturemarket"); //使用哪个数据库
第三步:打开链接open()
if( !db.open() )
{
QMessageBox::critical(0,"Cannont open database","Unable to         establish a dadabase connection",QMessageBox::Cancel);
return false;
}
//创建一个学生表
//使用QsqlQuery 对数据库进行基本的操作
QSqlQuery query(db);
query.exec("create table student(id int primary key)","name        varchar(20))");
query.exec("insert into sutdent values(0,Liming)");
//对表进行操作时先要获取连接
QsqlDatabase db1 = QsqlDatabase::database("connection");
QSqlQuery query(db1);
//查询一个表
query.exec("select * from person");
//取出里面的值
while( query.next() )
{
qDebug()<<query.value(0).toInt()<<query.value(1).toString();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: