您的位置:首页 > 编程语言 > Qt开发

Ubuntu 15 下 Qt 配置mysql链接及基本操作

2015-11-12 11:24 483 查看

最近需要在Linux下做一个unix网络编程项目,选择了Ubuntu 最新版本15.04 :

开发环境:Qt 5

数据库: MySQL

安装Qt 和 MySQL

简要介绍一下软件的安装!

安装Qt命令
sudo apt-get install qtcreator


安装MySQL,我是采用的软件中心选择的开发工具 包括 服务器、客户端、工作台三个软件;然后,在命令行配置root账户密码即可!

默认的MySQL安装之后根用户是没有密码的,所以首先用根用户进入:

$mysql -u root

在这里之所以用-u root是因为我现在是一般用户(firehare),如果不加-u root的话,mysql会以为是firehare在登录。注意,我在这里没有进入根用户模式,因为没必要。一般来说,对mysql中的数据库进行操作,根本没必要进入根用户模式,只有在设置时才有这种可能。

进入mysql之后,最要紧的就是要设置Mysql中的root用户密码了,否则,Mysql服务无安全可言了。

mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY "123456";


注意,我这儿用的是123456做为root用户的密码,但是该密码是不安全的,请大家最好使用大小写字母与数字混合的密码,且不少于8位。

这样的话,就设置好了MySQL中的root用户密码了,然后就用root用户建立你所需要的数据库。

安装MySQL驱动

新建项目

在Qt中新建一个控制台项目,在main.cpp内添加代码:

#include <QCoreApplication>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlQuery>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

qDebug()<<"available drivers:";
QStringList drivers = QSqlDatabase::drivers();
foreach(QString driver, drivers)
qDebug()<<driver;

QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("EasyChat");
db.setUserName("root");
db.setPassword("123456");
if(!db.open()){
qDebug()<<"Unable to open database";
}else{
qDebug()<<"Database connection established";
}
return a.exec();
}


另外,在.pro文件中添加:

QT       += sql


基本操作

插入语句

//用户注册对应的,插入用户数据
int insert(const User &user)
{
//执行sql语句
QSqlQuery query;
QString sql = QObject::tr("insert into User(userId,nickname,password,state,registerTime)values('%1','%2','%3','%4','%5')").arg(user.userId)
.arg(user.nickname)
.arg(user.password)
.arg(user.state)
.arg(user.registerTime);

qDebug()<<sql;

bool ret = query.exec(sql);

qDebug()<<"插入操作结果ret = "<<ret;

if(ret)
return SUCCESS;
else
return FAILED;
}


查询操作

这里写代码片
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: