QT之数据库

来源:互联网 发布:淘宝旺旺账号 编辑:程序博客网 时间:2024/06/07 19:41

想和数据库进行通信,首先要知道支持的数据库驱动。
使用代码查看:
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(); }
0 0
原创粉丝点击