因为调查问卷需要用数据库保存数据,所以我学习了Qt有关数据库的操作。
首先需要在pro文件中加入:
QT += sql
然后在头文件.h文件中加入:
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
以及:
QSqlDatabase db;
QSqlQuery query;
最后在.cpp文件中:
#include "dialog.h"
#include <QApplication>
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
w.show();
QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost"); //主机名称
db.setDatabaseName("test"); //数据库名称
db.setPort(3306); //数据库端口号
db.setUserName("root"); //用户名称
db.setPassword("123456"); //用户密码
db.open(); //打开连接
if(db.isOpen())
{
qDebug()<<"打开连接成功true"<<endl;
}
else qDebug()<<"打开连接失败false"<<endl;
//插入
query.prepare("insert into yy values(?,?,?,?,?,?,?);"); //插入的表的基本数据
query.bindValue(0,1);
query.bindValue(1,1);
query.bindValue(2,1);
query.bindValue(3,1);
query.bindValue(4,1);
query.bindValue(5,1);
query.bindValue(6,9);
bool ok= query.exec();
if(!ok)
{
qDebug()<<"插入失败"<<endl;
}
return a.exec();
}
上面就做了一个小的测验程序 ,在数据库test里面的表yy中插入一行全为1的数据
debug显示打开连接成功。
之后可以打开MySQL的命令窗口:
1.输入预设的密码(我的是123456)。
2.输入MySQL的指令:分别为:
展示全部数据库:show databases;(分号是不可以舍去的)
使用所需要的数据库:use test;
展示数据库中的表格:show tables;
展示数据库中表的内容:select *from yy;
查询后发现程序执行的插入功能是可以正常使用的。
总结:1.了解了数据库的基本概念和一些操作,其实很多指令都是数据库的,Qt只是作为载体来运行这些操作。一般会自定义一个变量,如
QSqlQuery query;
之后用query.exec("操作命令");语句来执行数据库操作。所以插入语句如果较为简单的话,可以直接使用插入insert命令。