在qt中使用MYSQL向表内存储字符串

在qt中使用MYSQL向表内存储字符串,第1张

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL")// 使用mysql数据库驱动 db.setHostName("localhost")db.setDatabaseName("exampledb")// 数据库名称 db.setUserName("sa")// 用户名 db.setPassword("1")// 密码 bool ok = db.open()// 尝试连接数据库 if(ok){ 成功 }

1:windows 下登陆mysql 命令行,(1)进入cmd (2) cdmysql 安装路径/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 query3. 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. }

方法/步骤

1

下载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()

<<

driversreturn

a.exec()

}

运行测试一下,看看有没有图片中红圈圈中的两项内容


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/8628178.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存