Qt中使用mysql连接远程服务器
来源:互联网 发布:js map存值 编辑:程序博客网 时间:2024/06/04 18:51
db = QSqlDatabase::addDatabase("QMYSQL"); qDebug() << "MYSQL driver valid" << db.isValid();
首先查看有没有MYSQL的驱动。
一般Qt开始时都没有mysql这个驱动。显示 MYSQL driver is not valid。这里 我们只讨论Qt5.2.1版本的,如果是版本的话,可能会很麻烦。要去编译mysql驱动。所以我建议还不如直接卸载了,用最近的呢。
Qt5.2.1版本如何解决没有MYSQL驱动这个问题呢?很简单,如果你的电脑里面没有暗转mysql数据库,就去安装个。安装完mysql,可能要加环境变量。编辑Path,在后面加上C:\Program Files\MySQL\MySQL Server 5.7\bin 。
然后到安装目录,将c:\Program File\MySQL\MySQL Server 5.7\lib\中的libmysql.dll这个文件拷贝到D:\Qt\Qt5.2.1\5.2.1\mingw48_32\bin 目录下。Ps:以上的目录是我电脑的安装目录,具体要根据你自己的电脑。
mysql安装好后,自己就可以直接用dos测一下了:
mysql -u 用户名 -p密码 -h 地址 例:mysql -u root -p123 -h 127.0.0.1
这里可以介绍几个mysql简单的命令: show databases;//显示数据库 usemysql ;//选择那个数据库 show table ;//显示表 describe 表名;//显示某个表的字段说明
db.setHostName(sIp); db.setPort(iPort); db.setUserName(sUserNm); db.setPassword(sPwd); //连接sql服务器 bool r = db.open();if (r) { qDebug() << "SQL Server 2000 Connect OK!"; /* 计算当前表中id*/ QSqlQuery query1 = QSqlQuery(db); query1.clear(); query1.prepare("select top 1 ID from SQL_2000 order by ID desc"); bool a = query1.exec(); int id; if (a) { while(query1.next()) { id = query1.value(0).toInt(); } } /*插入数据*/ QSqlQuery query2 = QSqlQuery(db); QString sq1 = QObject::tr("insert into SQL_2000(Id,Ip,Port,UserName,Password,DbType,DbName)" "values (?, ?, ?, ?, ?, ?, ?)"); bool b = query2.prepare(sq1); if(b) { qDebug() << "insert data success!"; } query2.bindValue(0, id+1); query2.bindValue(1, sIp); query2.bindValue(2, iPort); query2.bindValue(3, sUserNm); query2.bindValue(4, sPwd); query2.bindValue(5, sDbType); query2.bindValue(6, sDbNm); /*查询数据*/ QSqlQuery query3 = QSqlQuery(db); query3.prepare("select * from SQL_2000 where Id=1"); bool c = query3.exec(); if (c) { qDebug() << "select data success!"; while(query3.next()) { qDebug() << query3.value(0); qDebug() << query3.value(1); qDebug() << query3.value(2).toInt(); } } else { qDebug() << query3.lastError().text().data(); } /*删除数据*/ QSqlQuery query4 = QSqlQuery(db); query4.prepare("delete from SQL_2000 where Id=1"); bool d = query4.exec(); if (d) { qDebug() << "delete data success!"; } else { qDebug() << query3.lastError().text().data(); } } else { QMessageBox::information(this, tr("提示"), tr("Sql Server数据库连接失败!"), tr("确定")); qDebug() <<"error_SqlServer:\n" << db.lastError().text(); } db.close();
0 0
- Qt中使用mysql连接远程服务器
- Qt中使用mysql连接远程服务器
- 远程连接Mysql服务器
- 远程连接Mysql服务器
- mysql服务器远程连接
- 连接远程MySQL服务器
- Qt远程连接MySql数据库
- Qt远程连接MySql数据库
- openstack中如何使用远程连接mysql
- Ubuntu下配置Tomcat服务器 mysql数据库并在windows中使用sqlyog 远程连接
- mysql远程连接不到服务器
- 无法远程连接mysql服务器
- 允许远程连接mysql服务器
- 远程连接Mysql服务器问题
- 无法远程连接mysql服务器
- python远程连接mysql服务器
- 远程连接Mysql服务器配置
- mysql服务器无法远程连接
- mocc-计算机组成课程大纲
- 如何设置socket的Connect超时
- js 学习心得
- 1063. Who's the Boss
- C语言中字符串结束符'\0'的讨论
- Qt中使用mysql连接远程服务器
- 刷新或关闭浏览器触发事件,且单击按钮实现跳转的同时不执行关闭事件
- 将List a 和List b中的元素合并,没有重复的元素,最后返回这个合并的List
- 【用户连接】
- “经济型”Win8.1 4G平板电脑
- LeetCode::Spiral Matrix II
- EF CodeFirst 一对一关系定义
- poi 读取xls实现批量导入
- 常用方法2 ---字符串处理类