您好,欢迎访问一九零五行业门户网

QT中如何驱动链接数据库MYSql

1.下载安装mysql数据库,安装时候必须安装include和lib文件夹,并且把这两个文件夹放到c盘根目录c:\ mysql \下; 2.下载qt源码,并在qt源码目录d:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql下编译mysql.pro文件; 编译步骤
1.下载安装mysql数据库,安装时候必须安装include和lib文件夹,并且把这两个文件夹放到c盘根目录c:\mysql\下;
2.下载qt源码,并在qt源码目录d:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql 下编译mysql.pro文件;
     编译步骤:   a:从libmysql.lib生成libmysql.a文件
                                   >>c:
                                   >>cd mysql\lib\opt
                                   >>reimp -d libmysql.lib (生成 libmysql.def文件)
                                   >>dlltool -k -d libmysql.def -l libmysql.a (生成 libmysql.a文件)
                                  (把生成的.a文件复制到d:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql文件夹下)
                              b:  用记事本打开d:\qt-everywhere-opensource-src-5.0.1\qtbase\src\plugins\sqldrivers\ mysql\mysql.pro文件,在第二行加入: includepath += c:/mysql/include libs += c:/mysql/lib/opt/libmysql.lib 并保存.
c:生成qt下的mysql驱动:(在qt相应的命令行工具中运行如下命令)
                                    >>cd \
                                    >>cd qt\src\plugins\sqldrivers\mysql
                                    >>qmake -o makefile includepath+=c:\mysql\include libs+=c:\mysql\llib\opt\libmysql.a mysql.pro
                                    >>mingw32-make
 3:在d:\qt-everywhere-opensource-src-5.0.1\qtbase\plugins\sqldrivers目录下生成驱动qt所需要的文件
qsqlmysql4.dll   libqsqlmysql4.a  qsqlmysqld4.dll   libqsqlmysqld4.a    最后把 qsqlmysqld4.dll   libqsqlmysqld4.a 这两个文件复制到qt工具的安装目录的d:\qt\5.0.1\mingw47_32\plugins\sqldrivers下,写如下代码测试:
   4:测试代码                                                             qsqldatabase db = qsqldatabase::adddatabase(qmysql);                            
                                                             qdebug()                                                              db.setdatabasename(mytest);                                                     
                                                             db.sethostname(localhost);                                                      
                                                             db.setusername(root);                                                           
                                                             db.setpassword(19881014);                                                       
                                                             db.setport(3306);                                                                 
                                                             if(db.open())                                                                     
                                                              {                                                                                 
                                                                   qsqlquery query;                                                              
                                                                   //新建student表                                                                    
                                                                  query.exec(create table student (id int primary key, name text,course int));
query.prepare(insert into student values (?, ?, ?));
qvariantlist id;                                                              
                                                                   id                                                                   query.addbindvalue(id);
qvariantlist name1;                                                           
                                                                  name1                                                                   query.addbindvalue(name1);
qvariantlist course;                                                          
                                                                  course                                                                  query.addbindvalue(course);
if (!query.execbatch())                                                       
                                                                  {                                                                             
                                                                        qdebug()                                                                   };
其它类似信息

推荐信息