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();
}
运行测试一下,看看有没有图片中红圈圈中的两项内容