#include "widget.h"
#include "ui_widget.h"
#include <QSqlDatabase>
#include <QDebug>
#include <QSqlQuery>
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
/* QStringList drivers;
drivers = QSqlDatabase::drivers();
foreach(QString driver,drivers)
qDebug() << driver;
*/
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");//设置接入哪种数据库
db.setDatabaseName("dataset.db");//给数据库命名
if(!db.open())
{
qDebug() << "创建失败 " << db.lastError();//打印出创建失败的原因
}
else
{
qDebug() << "创建成功";
}
QSqlQuery sql_query;
/*
QString create = "create table student(id int,name varchar(20),age int)";
sql_query.prepare(create);
if(!sql_query.exec())
{
qDebug() << "创建执行错误: " << sql_query.lastError();
}
else {
qDebug() << "创建成功";
}
*/
//第一次运行时应把以上注释取消
QString insert_sql = "insert into student values(?,?,?)" ;
sql_query.prepare(insert_sql);
sql_query.addBindValue(1);
sql_query.addBindValue("Rick");
sql_query.addBindValue(15);//一个?对应一个bindValue
if(!sql_query.exec())
{
qDebug() << "插入执行错误: " << sql_query.lastError();
}
else {
qDebug() << "插入成功";
}
QString select_sql = "select * from student";//把student的全部内容显示出来
sql_query.prepare(select_sql);
if(!sql_query.exec())
{
qDebug() << "查看执行错误: " << sql_query.lastError();
}
else {
while(sql_query.next())//如果下一行数据还存在,就继续执行
{
int id = sql_query.value(0).toInt();//将sql里的int转换为qt里的int
QString name = sql_query.value(1).toString();//将sql里的string转化为qt里的string
int age = sql_query.value(2).toInt();
qDebug() << "id " << id << " name: " << name << " age: " << age;
}
}
/*QString clear_sql = "delete from student";
sql_query.prepare(clear_sql);
if(!sql_query.exec())
{
qDebug() << "删除错误: " << sql_query.lastError();
}
else {
qDebug() << "删除成功";
}*/
QString update_sql = "update student set name =:nm where id =:n";
//将ID为n的那一行的name换为nm
sql_query.prepare(update_sql);
sql_query.bindValue(":nm","MidsgKi");//将nm绑定为MiKi
sql_query.bindValue(":n", "1");//将n绑定为1
if(!sql_query.exec())
{
qDebug() << "更新失败" << sql_query.lastError();
}
else {
qDebug() << "更新成功";
}
select_sql = "select * from student";//把student的全部内容显示出来
sql_query.prepare(select_sql);
if(!sql_query.exec())
{
qDebug() << "查看执行错误: " << sql_query.lastError();
}
else {
while(sql_query.next())//如果下一行数据还存在,就继续执行
{
int id1 = sql_query.value(0).toInt();//将sql里的int转换为qt里的int
QString name1 = sql_query.value(1).toString();//将sql里的string转化为qt里的string
int age1 = sql_query.value(2).toInt();
qDebug() << "id " << id1 << " name: " << name1 << " age: " << age1;
}
}
QString delete1_sql = "delete from student where id = ?";
sql_query.prepare(delete1_sql);
sql_query.addBindValue(1);
if(!sql_query.exec())
{
qDebug() << "删除失败";
}
else {
qDebug() << "删除成功";
}
}
Widget::~Widget()
{
delete ui;
}
没有合适的资源?快使用搜索试试~ 我知道了~
QT数据库的简单使用,命令行操作
共18个文件
cpp:3个
h:3个
o:3个
需积分: 5 3 下载量 2 浏览量
2023-06-09
20:54:17
上传
评论
收藏 854KB ZIP 举报
温馨提示
QT数据库的简单使用,命令行操作
资源推荐
资源详情
资源评论
收起资源包目录
35_SQL.zip (18个子文件)
build-SQL-Desktop_Qt_5_12_2_MinGW_32_bit-Debug
ui_widget.h 1KB
Makefile 33KB
debug
SQL.exe 1.35MB
moc_widget.cpp 3KB
moc_widget.o 427KB
main.o 515KB
widget.o 492KB
moc_predefs.h 14KB
release
Makefile.Release 43KB
dataset.db 8KB
Makefile.Debug 43KB
.qmake.stash 1KB
SQL
widget.ui 441B
widget.cpp 4KB
SQL.pro 1KB
main.cpp 177B
SQL.pro.user 44KB
widget.h 453B
共 18 条
- 1
资源评论
黑川赤音
- 粉丝: 21
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功