Qt如何远程连接mysql?

xiaomizh 2012-08-14 04:54:10
最近在做个项目。本地数据裤用的是sqlite、需要远程访问服务器的mysql数据库来添加数据到客户机上,本来是想远程也用sqlite数据库、但是差了好多资料说是远程不能使用sqlite、因为sqlite是一个本地数据库。然后我凌乱了。就像用mysql吧 但是又不熟悉、我想问到底如何远程连接mysql? 还有需不需要自己编译mysql插件到Qt中? 求解释。
...全文
607 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
Qt中没有带mysql的驱动,所以要使用mysql首先要编译一个mysql的驱动。
然后就这样连接远程数据库:
C/C++ code

void Widget::connectMysql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");//设置你远程服……
[/Quote]
这样直接设置IP貌似不行啊?。。。
许威威 2012-08-20
  • 打赏
  • 举报
回复
我这里有几篇收藏的关于这个的文章 可以Q我:136335434
许威威 2012-08-16
  • 打赏
  • 举报
回复
qt-creator-v2.4.0
vs2008-4.8.4
xiaomizh 2012-08-16
  • 打赏
  • 举报
回复
我的是4.8版本的Qt、你的呢? 唉。
xiaomizh 2012-08-16
  • 打赏
  • 举报
回复
编译了半天 没过 我失去信心了。唉
许威威 2012-08-16
  • 打赏
  • 举报
回复
到网上找点资料,肯定可以编译通过的。
xiaomizh 2012-08-16
  • 打赏
  • 举报
回复
啊?  你用vs编译器啊..我用的mingw编译器啊.. 我用的qt-win-opensource-4.8.2-mingw 、QtSdk-offline-win-x86-v1_2_1 唉
xiaomizh 2012-08-15
  • 打赏
  • 举报
回复
好吧、可我现在编译mysql驱动出问题了。编译了半天了。 编译没问题。可是没生成dll文件。只有libqsqlmysql.a libqsqlmysqld.a qsqlmysqld.prl qsqlmysql.prl 这些文件啊。编译方法都是按照网上的方法啊。 求解啊。 快崩溃了。
xiaomizh 2012-08-15
  • 打赏
  • 举报
回复
好吧 。但是我编译mysql驱动的时候出问题了。 编译没错。都是按照网上的说的弄的。可是没生成dll文件。但是有.a 和.prl文件。 就是没有dll文件。就这文件qsqlmysqld.prl qsqlmysql.prl libqsqlmysqld.a libqsqlmysql.a 是怎么回事啊? 求解啊。 编译了半天了。 快疯啦。
许威威 2012-08-15
  • 打赏
  • 举报
回复
远程操作mysql数据库只是把你的数据库的服务器的IP设置好,其他的都是和本地相同,只要你有足够的权限。
许威威 2012-08-15
  • 打赏
  • 举报
回复
这个确实会出现很多问题,我这里有已经编译好的驱动,不知道你使用的Qt版本和我的是不是一样。
xiaomizh 2012-08-15
  • 打赏
  • 举报
回复
怎么不回呢?
xiaomizh 2012-08-14
  • 打赏
  • 举报
回复
那就是说还是的先编译mysql驱动? 然后那样就可以访问了? 好、那么远程添加和删除和对本地数据库的操作没有区别吧? 还有是不是访问前。必须先搭建c/s的通信模型?
许威威 2012-08-14
  • 打赏
  • 举报
回复
Qt中没有mysql的驱动,所以要使用mysql首先用你的Qt编译mysql驱动添加到Qt安装目录下的数据库驱动中。连接远程数据库如下:
void Widget::connectMysql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("****");
if (!db.open())
qDebug() << "Failed to connect to root mysql admin";
else
qDebug() << "success!";
}
许威威 2012-08-14
  • 打赏
  • 举报
回复
Qt中没有带mysql的驱动,所以要使用mysql首先要编译一个mysql的驱动。
然后就这样连接远程数据库:

void Widget::connectMysql()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");//设置你远程服务器的IP
db.setDatabaseName("test");//数据库名
db.setUserName("*****");//数据库用户名和密码
db.setPassword("*****");
if (!db.open())
qDebug() << "Failed to connect to mysql";
else
qDebug() << "success!";
}

16,175

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧