qt连接mysql数据库
在这里小编使用的是SQLyogEnt进行远程连接配置了SSH的数据库。通过桌面的SQLyogEnt运行数据库客户端。
在界面中点击【新建】按钮,在Mysql下填写Mysql数据库的ip地址、用户名、密码、端口(默认在3306)就好,数据库名称。这里跟普通的连接数据库的方法一致。
这个时候读者可以点击一下【测试连接】,这个时候点击测试连接去连接数据库是不会成功的,因为数据库配置了SSH访问。如下图:
配置完成Mysql信息后,在旁边选择【SSH】
⑵ 如何设置Qt连接Mysql数据库时的字符集
在你的程序代码设置数据库后添加一句:
db.exec("SET
NAMES
'Latin1'");
//直接使用数据库的latin1编码
⑶ 求教linux下Qt5链接MySQL数据库问题
连接Mysql数据库需要添加数据库的类型是QMYSQL,不是QSQLITE,QSQLITE对应的数据库管理系统是SQLite。QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
这样的话,你调用下lastError,看一下为什么。
官方文档对QSqlDatabase open方法的说明原话:
Opens the database connection using the current connection values. Returns true on success; otherwise returns false. Error information can be retrieved using lastError().
⑷ ubuntu下qt链接mysql数据库问题
1,在.pro文件中修改 QT += sql ,大致如下
TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .
QT +=sql
2,在程序中添加数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
	qDebug()<<QString("add database");
	//db.setHostName("192.168.1.126");//远程访问
	db.setHostName("localhost");
	db.setDatabaseName("test");
	
	//db.setDataBaseName("");
	db.setUserName("root");
	db.setPassword("000000");
	if (!db.open())
	return db.lastError();
⑸ 在vs中,qt连接mysql运行时,出现QSqlQuery::exec:database not open,如何解决
要设置用户名密码之类的吧。。?
db.setHostName("localhost");
//设置数据库主机名
db.setDatabaseName("test");
//设置数据库名
db.setUserName("root");
//设置数据库登入用户名
db.setPassword("123456");
//设计数据库登入密码
自己试试。
在if(!db.open()){
}里面最好输出一下,看看是否open成功
⑹ QT中怎样连接MYsql数据库,远程连接数据库等
1:    windows 下登陆mysql 命令行,(1)进入cmd (2)  cd    mysql 安装路径/mysqlserver5.6/bin 
        (3)  使用命令mysql -u root -p      然后根据提示输入密码  进入命令行 
 
select user();    //显示当前用户   
 
2:  在同一台电脑上利用Qt 访问数据库 
(1)显示当前电脑上安装的数据库驱动 
      QStringList  drivers = QSqlDatabase::drivers(); 
        foreach(QString driver, drivers) 
           qDebug() <<"/t" << driver; 
            (2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/对 QMYSQL进行操作,本函数      
有第二个参数 连接名 
        db.setHostName("localhost");//或127.0.0.1 本主机 
     db.setPort(3306); 
     db.setDatabaseName("example"); //对数据库example进行操作 
     db.setUserName("wangxuetao");  //wangxuetao是一个对example数据库有操作权限的账户 
     db.setPassword("3791948"); 
    
      于是mysql中增加一个账户可使用 
     Grant  all previliges on *.*  to ‘wangxuetao’@’localhost’ identified by   
‘3791948’ with grant option; 
     Flush  privileges; //更新 
      
 (3)db.open() 函数可由于检测数据库是否连接成功 
      cout<DBConnection();   
2.      m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql
query   
3.      if(result == R_OK)   
4.      {   
5.          result = m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A
nn2',13)");   
6.          if(!result)   
7.             qDebug()<<" [OK] "<<"EXEC successed";   
8.          m_sqlquery->exec("SELECT * FROM children c LIMIT 0,1000");   
9.          while(m_sqlquery->next())   
10.         {   
11.             qDebug()<value(0).toString()<value(1).
toString();   
12.         }   
13.     }
⑺ qt中怎么连接mysql数据库
1: windows 下登陆mysql 命令行,(1)进入cmd (2) cd mysql 安装路径/mysqlserver5.6/bin (3) 使用命令mysql -u root -p 然后根据提示输入密码 进入命令行 select user(); //显示当前用户 2: 在同一台电脑上利用Qt 访问数据库 (1)显示当前电脑上安装的数据库驱动 QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug() <<"/t" << driver; (2)QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");/对 QMYSQL进行操作,本函数 有第二个参数 连接名 db.setHostName("localhost");//或127.0.0.1 本主机 db.setPort(3306); db.setDatabaseName("example"); //对数据库example进行操作 db.setUserName("wangxuetao"); //wangxuetao是一个对example数据库有操作权限的账户 db.setPassword("3791948"); 于是mysql中增加一个账户可使用 Grant all previliges on *.* to ‘wangxuetao’@’localhost’ identified by ‘3791948’ with grant option; Flush privileges; //更新 (3)db.open() 函数可由于检测数据库是否连接成功 cout<DBConnection(); 2. m_sqlquery = new QSqlQuery("",m_sqldb);//statement 1:connect db with sql query 3. if(result == R_OK) 4. { 5. result = m_sqlquery->exec("INSERT INTO children(fname,age) VALUES('A nn2',13)"); 6. if(!result) 7. qDebug()<<" [OK] "<<"EXEC successed"; 8. m_sqlquery->exec("SELECT * FROM children c LIMIT 0,1000"); 9. while(m_sqlquery->next()) 10. { 11. qDebug()<value(0).toString()<value(1). toString(); 12. } 13. }
⑻ qt5.3怎么连接mysql数据库
你必须把安装好的mysql的
C:\Program Files\MySQL\MySQL Server 5.6\lib 下的
libmysql.dll 和 libmysql.lib 拷贝进 qt的G:\Qt\Qt5.3.1\5.3\mingw482_32\bin下
⑼ ubuntu linux 下使用Qt连接MySQL数据库
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
环境说明:
ubuntu
10.04.2
QtSDK
(1.5G安装包的那个)
mysql5.1
1.安装MySQL
Linux下完整的MySQL开发需要安装服务器端,如果安装客户端也没什么不好。直接在软件中心搜mysql,把client和server选上。
server在安装时会提示为root用户设置密码,设一个好了。
我使用的是mysql5.1版本,用户名密码存储在一个叫mysql的数据库里,只有管理员级别才能看到。
如果直接在终端中输入
mysql,可能会提示ERROR
1045
(28000),这是因为这时候你是以自己用户名访问数据库,而目前数据库中只有一个root用户。没关系,如果有必要,可以添加一个用户进去:
mysql
-uroot
-p
--
以root用户登录
grant
usage
on
*.*
to
mmy@localhost;
--
授权名为mmy的用户本地登录,这里换成自己的用户名就可以了
不过这时候直接mysql只有普通的权限,创建数据库、操作mysql都是不可以的,如果真有将其赋予管理员权限的需要,可以自己查阅有关资料。
2.安装Qt的MySQL驱动。
方法一:直接sudo
apt-get
install
libqt4-sql-mysql
,这是Qt4的mysql驱动,就不用自己费劲编译了,不过可能会额外下载一些东西。
将
/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so拷贝到你的QtSDK
sqldrivers目录下,我当时是直接用普通权限安装,目录为:~/QtSDK/Desktop/Qt/473/gcc/plugins/sqldrivers
方法二:其实你也可以sudo
apt-get
download
libqt4-sql-mysql,把包解压缩,然后把里面的so文件搜出来直接拷贝到那里。
方法三:乖乖按照官方方法编译,但是貌似可行性不大,因为新版本的QtSDK并没有src目录,默认也没有mysql的驱动。
3.做个demo试一下
记得在pro文件中
QT
+=那里加上sql,否则qmake是不会去找sql的相关部分的
复制代码代码如下:
#include
QtCore/QCoreApplication
#include
QSqlDatabase
#include
QDebug
int
main(int
argc,
char
*argv[])
{
QCoreApplication
a(argc,
argv);
QSqlDatabase
db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("study");
db.setUserName("root");
db.setPassword("tyh");
if(!db.open()){
qDebug()
"Unable
to
open
database";
}else{
qDebug()
"Database
connection
established";
}
return
a.exec();
}
这里study这个数据库之前我已经创建过了,如果连接成功,就会显示Database
connection
established。
我是建立的控制台程序哈。
软件教程小编推荐:
Linux安装配置MariaDB数据库全程详解
Linux系统怎么设置开机密码?
Linux启动菜单修改教程

⑽ qt连接mysql数据库怎么编译驱动
下载mysql   C链接库
选择C的链接库
2
将C的连接库解压到到C:/mysql 目录下
3
我的QT 安装在C盘目录下,版本号是4.8.6 所以打开目录
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
4
将C:/mysql/lib/libmysql.dll 和C:/mysql/lib/libmysql.lib
复制到此处。
5
编辑目录下的mysql.pro文件
添加
INCLUDEPATH+="C:/mysql/include"
LIBS+="C:/mysql/lib/opt/libmysql.lib"
运行qt的控制台窗口,方便使用qmake
切换到目录下
C:\QT\4.8.6\src\plugins\sqldrivers\mysql
执行qmake 
运行VS2010的控制台工具
切换到
C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下
执行nmake 和nmake release
是nmake不是make
这样在C:\QT\4.8.6\src\plugins\sqldrivers\mysql 目录下的debug 目录和release 目录下分别会产生
qsqlmysqld4.dll qsqlmysqld4.lib 
 
qsqlmysql4.dll qsqlmysql4.lib
将上面提到的四个文件复制到
C:\QT\4.8.6\plugins\sqldrivers
最后把
C:\mysql\lib\opt\libmysql.dll
C:\mysql\lib\opt\libmysql.lib
复制到
C:\Windows\system32\ 目录下。
最后测试mysql 可不可以在qt中正常使用
新建一个qt 控制台项目
输入以下代码
#include <QCoreApplication> 
#include <QDebug> 
#include <qstring.h> 
#include <qstringlist.h> 
#include <qsql.h> 
#include <qsqldatabase.h>int main(int argc, char *argv[]) 
{   
QCoreApplication a(argc, argv);   
qDebug() << "Available drivers:";        
QStringList drivers = QSqlDatabase::drivers();qDebug() << drivers;return a.exec(); 
} 
运行测试一下,看看有没有图片中红圈圈中的两项内容
