当前位置: 首页 > news >正文

快速学做网站设计企业的网站

快速学做网站,设计企业的网站,wordpress直播网站主题,ps临摹网站QT关于数据库的相关概念 QT将数据库分为三个层次: 数据库驱动层:QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorBase、QSqlDriverPlugin sql接口层:QSqlDatabase、QSqlQuery、QSqlRecord、QSqlError 用户接口层:提供一些模…

QT关于数据库的相关概念

QT将数据库分为三个层次:

数据库驱动层:QSqlDriver、QSqlDriverCreator、QSqlDriverCreatorBase、QSqlDriverPlugin

sql接口层:QSqlDatabase、QSqlQuery、QSqlRecord、QSqlError

用户接口层:提供一些模型QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel

实现数据库操作的相关方法

添加数据库:

[static] QSqlDatabase QSqlDatabase::addDatabase(QSqlDriver *driver, const QString &connectionName = QLatin1String(defaultConnection)) 
QSQLITE SQLite version 3 or above 

设置数据库名称:

​​​​​​​void QSqlDatabase::setDatabaseName(const QString &name)

包含数据库:

bool QSqlDatabase::contains(const QString &connectionName = QLatin1String(defaultConnection)) 

打开数据库:

​​​​​​​bool QSqlDriver::open(const QString &db)

关闭数据库:

void QSqlDatabase::close() 

错误信息:

QSqlError QSqlDatabase::lastError()

sql语句执行:构造一个QSqlQuery类对象,调用其成员函数exec,执行sql语句

bool QSqlQuery::exec(const QString &query)

遍历查询结果的函数:

bool QSqlQuery::next()

通过数据库实现学生管理系统

功能界面:

主要功能代码

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//判断数据库对象是否包含了自己使用的数据库,例如Student.dbif(!db.contains("Student,db")){//添加一个数据库//函数原型:static QSqlDatabase addDatabase(const QString& type);//参数:数据库版本//返回值:添加的数据库db = QSqlDatabase::addDatabase("QSQLITE");      //表示使用的是sqlite3版本的数据库//给数据库命名db.setDatabaseName("Student.db");}//打开数据库if(!db.open()){QMessageBox::information(this, "提示", "数据库打开失败");return;}//代码执行到这说明数据库创建并打开完毕,就可以创建数据表了//创建数据表需要使用sql语句,需要使用QsqlQuery类对象来完成//准备sql语句QString sql = "create table if not exists myTable("           //创建表的sql语句"id integer primary key autoincrement,"       //id主键,允许自增"numb integer,"                               //学号"name varchar(10),"                           //姓名"score integer,"                              //分数"sex varchar(4))";                            //性别//定义语句执行者QSqlQuery query;//使用query执行sql语句if(!query.exec(sql)){QMessageBox::information(this, "失败", "创建表失败");}else{QMessageBox::information(this, "成功", "创建表成功");}
}Widget::~Widget()
{delete ui;
}//录入按钮对应的槽函数
void Widget::on_pushButton_clicked()
{//获取ui界面中要存入数据库中的数据int numb_ui = ui->lineEdit->text().toInt();      //获取UI界面的学号QString name_ui = ui->lineEdit_2->text();        //获取UI界面的姓名int score_ui = ui->lineEdit_3->text().toInt();   //获取UI界面的成绩QString sex_ui = ui->lineEdit_4->text();         //获取UI界面的性别if(numb_ui == 0 || name_ui.isEmpty() || score_ui == 0 || sex_ui.isEmpty()){QMessageBox::information(this, "提示", "请将信息填写完整");return;}//准备sql语句QString sql =QString("insert into myTable(numb, name, score, sex) values (%1, '%2', %3, '%4')").arg(numb_ui).arg(name_ui).arg(score_ui).arg(sex_ui);//定义语句执行者QSqlQuery query;if(!query.exec(sql)){QMessageBox::information(this, "失败", "录入数据失败");}else{QMessageBox::information(this, "成功", "录入数据成功");}//清除ui->lineEdit->clear();ui->lineEdit_2->clear();ui->lineEdit_3->clear();ui->lineEdit_4->clear();}//展示按钮对应的槽函数
void Widget::on_pushButton_2_clicked()
{//准备sql语句QString sql = "select * from myTable";//定义语句执行者QSqlQuery query;if(!query.exec(sql)){QMessageBox::information(this, "失败", "没有找到数据");return;}//将查找到的所有结果都放到query对象中//可以通过next函数不断遍历查询结果int i = 0;          //记录行号while(query.next()){//遍历的是任意一组记录,query.record//要找到每条记录中的每个数据,使用value(i)//将数据库中的表格战术到UI界面//ui->tableWidget->setItem()//query.record().value()for(int j=0; j<query.record().count()-1; j++){ui->tableWidget->setItem(i, j, new QTableWidgetItem(query.record().value(j+1).toString()));}i++;}
}
http://www.yayakq.cn/news/408481/

相关文章:

  • 临汾网站建设费用跑腿网站开发
  • 济南网站建设策划方案外协加工网最新订单
  • 国外电商平台重庆短视频seo优化推荐
  • 020网站设计万网人网站备案流程
  • 网站为什么会出现死链html网页设计作业代码
  • 外贸网站建设lanscend家乡网络推广方案
  • 链家网的网站开发费用大概多少钱博客社区类网站模板
  • 慕课网站开发wordpress hotnews syntax error
  • 嘉兴类网站系统总部深圳专门网站建设
  • php 如何用op浏览器开发手机网站吉林市网站建设优化
  • 攀枝花网站推广soho在哪里做网站
  • 无极领域付费网站网站跳出率多少合适
  • 石家庄网站设计公司排名做淘宝图标网站
  • 公司网站与营销网站在栏目上的不同基础网站建设代码
  • 域名注册最好的网站做网站设计需要多久
  • 台州网站建设方案咨询网站源码下载了没有管理后台
  • 网站建设 兼职 外包广州建设交易中心网站首页
  • 网站开发用到哪些技术做网站的协议
  • ppt做的模板下载网站有哪些做网站的语言有哪些
  • 网站服务器ip地址查询wordpress 热搜
  • 天翼云主机怎么建设网站怎样才能接外单 需做网站吗
  • 湘潭做网站 联系磐石网络建可收费的网站
  • 网上做翻译兼职网站好美术类艺考生可以报哪些专业
  • 网站不兼容怎么办啊步骤流程
  • 一键制作免费网站的app医院网站建设具体内容
  • 添加网站栏目的步骤郑州建站网
  • 广州建设网站专家站嗨建站
  • 遵义网站制作如何收费企业网站需要什么功能
  • 沧州网站建设公司翼马寻找做电影网站团队合作
  • 唐山网站wordpress 分享网站