#include "mysql.h"
#include "ui_mysql.h"
#include<QDebug>
#include<QSqlError>
#include<QSqlQuery>
MySql::MySql(QWidget *parent) :
QWidget(parent),
ui(new Ui::MySql)
{
ui->setupUi(this);
qDebug()<<QSqlDatabase::drivers(); //打印驱动名等
//添加数据库mysql,驱动名必须对
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
//设置数据库
db.setHostName("127.0.0.1"); //主机IP
db.setUserName("root"); //登录mysql数据库的用户名
db.setPassword("root");//登陆密码
db.setDatabaseName("...."); //连接的数据库名
//打开数据库
bool isok=db.open();
if(isok==false)
{
qDebug()<<db.lastError().text(); //打印出错误信息
}
//对数据库操作:增删查改
//添加一条记录
QSqlQuery query;
QString sql="insert into People(name,age) values('张三丰',123)"; //向sql中书写sql语句;
query.exec(sql); //query执行sql中的sql语句;仅执行一条
//大批量数据处理
//对query进行预处理
//?--通配符 ODBC风格通配符
query.prepare("insert into peopel(name,age) values(?,?)");
//添加绑定数据
QVariantList namelist;
namelist<<"aa"<<"bb"<<"cc";
query.addBindValue(namelist);
QVariantList agelist;
agelist<<"12"<<"13"<<"14";
query.addBindValue(agelist);
query.execBatch(); //执行批处理(增加三条记录)
//Oracle 风格通配符
//用户可自定义,定义方式: :+自定义名字
query.prepare("insert into peopel(name,age) values(:name,:age)");
//添加绑定数据
QVariantList namelist2;
namelist<<"aa"<<"bb"<<"cc";
query.bindValue(":name",namelist);
QVariantList agelist2;
agelist<<"12"<<"13"<<"14";
query.bindValue(":age",agelist);
query.execBatch();
//数据库查询
query.exec("select * from peopel");
while(query.next()) //遍历数据库中每一条记录
{
qDebug()<<query.value(0).toInt(); //0--第一个字段的索引
qDebug()<<query.value("name").toString();
}
}
MySql::~MySql()
{
delete ui;
}
02-08
2415
08-19
9350
04-16
9829
02-26
350