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

做音响的是哪个网站营销型网站备案

做音响的是哪个网站,营销型网站备案,万能素材,搜索引擎调词平台一、效果展示 在Qt创建如图UI界面#xff0c;主要包括“查询”、“添加”、“删除”、“更新”#xff0c;四个功能模块。 查询#xff1a;从数据库中查找所有数据的所有内容#xff0c;并显示在左边的QListWidget控件上。 添加#xff1a;在右边的QLineEdit标签上输入需…一、效果展示 在Qt创建如图UI界面主要包括“查询”、“添加”、“删除”、“更新”四个功能模块。 查询从数据库中查找所有数据的所有内容并显示在左边的QListWidget控件上。 添加在右边的QLineEdit标签上输入需要添加的内容包含idnameage三个字段然后点击添加按钮即可将数据添加至数据库。 删除根据在id控件输入框中输入的id删除数据库中指定那一行内容。 更新根据输入的id号对指定行数据的name字段内容进行修改。 如上四个功能来实现一个简单的增删查改demo。 二、基于数据库的操作 在qt中要使用数据库需要在.pro文件中添加sql模块才能使用数据库的相关操作。 基本操作 1.与数据库进行连接 QSqlDatabase db; db QSqlDatabase::addDatabase(QSQLITE); // 指明数据库为SQLite db.setDatabaseName(test.db); // 连接的数据库名 2.打开数据库 db.open() 3.定义QSqlQuery QSqlQuery query; // 用于执行对数据库的相关操作 QString sqlstr QString(select * from user;); // 定义sql语句 4.执行sql语句 query.exec(sqlstr) 1.连接数据库 QSqlDatabase db; // 指明连接的是SQLite3数据库 连接返回 db QSqlDatabase::addDatabase(QSQLITE); db.setDatabaseName(test.db); // 连接的数据库文件,需要在打开数据库之前进行// 打开数据库 if(!db.open()){qDebug() Error failed to open db.lastError(); } else{qDebug() open success; } db QSqlDatabase::addDatabase(QSQLITE);指明使用的是SQLite数据库驱动。 db.setDatabaseName(test.db);与test.db数据库进行连接 db.open()打开数据库返回值是bool类型打开失败会返回false。在打开数据库之前就需要指明连接的数据库。 db.lastError()该方法会打印数据库中最新的一条出错原因。 2.查询操作 void MainWindow::on_pushButton_find_clicked() {ui-listWidget-clear(); // 清空之前的内容// 查询操作QSqlQuery query;QString sqlstr QString(select * from user;);if(!query.exec(sqlstr)){qDebug() 查询错误 query.lastError();return;}// 因为查询出的数据可能不止一条所以需要循环打印while(query.next()){// 获取每一条记录的内容int id query.value(id).toInt();QString name query.value(name).toString();int age query.value(age).toInt();// 将数据更新到控件界面上// 创建一条数据的条目itemFrom *userItem new itemFrom;userItem-setUserInfo(id, name, age); // 设置该条记录内容QListWidgetItem *item new QListWidgetItem(ui-listWidget);item-setSizeHint(QSize(442, 29));ui-listWidget-addItem(item);ui-listWidget-setItemWidget(item, userItem);} } QSqlQuery query;创建一个QSqlQuery对象用于执行对数据库进行的一些操作。QString sqlstr QString(select * from user;);定义一条查询语句查询user表中所有的内容。query.exec(sqlstr)执行自定义的sql语句执行失败会返回false。query.next()该函数会指向我们指向我们指向sql语句后返回结果的第一条内容每执行一次就会指向下一条内容如果没有内容了就会返回false。query.value(id)该函数会匹配查询出来的结果中一条记录中对应“id”字段的内容以字符串的形式返回。 3.添加操作 void MainWindow::on_pushButton_add_clicked() {// 获取控件上的内容QString name ui-lineEdit_name-text();QString age ui-lineEdit_age-text();// 执行插入操作QSqlQuery query;// %表示占位符QString sqlstr QString(insert into user(name, age) values(%1, %2)).arg(name).arg(age.toInt());if(!query.exec(sqlstr)){qDebug() 插入错误 query.lastError();return;} } 首先获取输入框中对应的内容然后创建QSqlQuery对象执行sql语句。在user表中id字段设置为自增所以不需要输入id的内容来进行添加。 QString(insert into user(name, age) values(%1, %2)).arg(name).arg(age.toInt()); 在字符串中%1表示的是占位符数字1表示序号。使用arg()方法将内容填充到对应的占位符中顺序方式填充。 query.exec(sqlstr)函数执行sql语句。 4.删除操作 void MainWindow::on_pushButton_del_clicked() {// 获取控件上的内容QString id ui-lineEdit_id-text();// 执行删除操作QSqlQuery query;// %表示占位符QString sqlstr QString(delete from user where id %1).arg(id.toInt());if(!query.exec(sqlstr)){qDebug() 删除错误 query.lastError();return;}// 同时更新控件上的显示ui-listWidget-takeItem(id.toInt()-1); } 实现方式类似需要根据需求自定义一条sql语句然后调用执行。 5.修改操作 void MainWindow::on_pushButton_update_clicked() {// 获取控件上的内容QString name ui-lineEdit_name-text();QString id ui-lineEdit_id-text();// 执行更新操作QSqlQuery query;// %表示占位符QString sqlstr QString(update user set name %1 where id %2 ;).arg(name).arg(id.toInt());if(!query.exec(sqlstr)){qDebug() 更新错误 query.lastError();return;} } 先获取输入框中的内容然后进行编写修改的sql语句使用%1表示占位符使用arg()进行填充最后执行sql语句。 完整代码 #include mainwindow.h #include ui_mainwindow.h #include itemfrom.h#include QDebug #include QSqlError // 数据库操作错误信息 #include QListWidgetItemMainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui-setupUi(this);// 指明连接的是SQLite3数据库 连接返回db QSqlDatabase::addDatabase(QSQLITE);db.setDatabaseName(test.db); // 连接的数据库文件,需要在打开数据库之前进行// 打开数据库if(!db.open()){qDebug() Error failed to open db.lastError();}else{qDebug() open success;} }MainWindow::~MainWindow() {db.close();delete ui; }// 添加 void MainWindow::on_pushButton_add_clicked() {// 获取控件上的内容QString name ui-lineEdit_name-text();QString age ui-lineEdit_age-text();// 执行插入操作QSqlQuery query;// %表示占位符QString sqlstr QString(insert into user(name, age) values(%1, %2)).arg(name).arg(age.toInt());if(!query.exec(sqlstr)){qDebug() 插入错误 query.lastError();return;} } // 删除 void MainWindow::on_pushButton_del_clicked() {// 获取控件上的内容QString id ui-lineEdit_id-text();// 执行删除操作QSqlQuery query;// %表示占位符QString sqlstr QString(delete from user where id %1).arg(id.toInt());if(!query.exec(sqlstr)){qDebug() 删除错误 query.lastError();return;}// 同时更新控件上的显示ui-listWidget-takeItem(id.toInt()-1); } // 更新 void MainWindow::on_pushButton_update_clicked() {// 获取控件上的内容QString name ui-lineEdit_name-text();QString id ui-lineEdit_id-text();// 执行更新操作QSqlQuery query;// %表示占位符QString sqlstr QString(update user set name %1 where id %2 ;).arg(name).arg(id.toInt());if(!query.exec(sqlstr)){qDebug() 更新错误 query.lastError();return;} } // 查询 void MainWindow::on_pushButton_find_clicked() {ui-listWidget-clear(); // 清空之前的内容// 查询操作QSqlQuery query;QString sqlstr QString(select * from user;);if(!query.exec(sqlstr)){qDebug() 查询错误 query.lastError();return;}// 因为查询出的数据可能不止一条所以需要循环打印while(query.next()){// 获取每一条记录的内容int id query.value(id).toInt();QString name query.value(name).toString();int age query.value(age).toInt();// 更新到控件上// 创建一条数据的条目itemFrom *userItem new itemFrom;userItem-setUserInfo(id, name, age); // 设置该条记录内容QListWidgetItem *item new QListWidgetItem(ui-listWidget);item-setSizeHint(QSize(442, 29));ui-listWidget-addItem(item);ui-listWidget-setItemWidget(item, userItem);} } #ifndef MAINWINDOW_H #define MAINWINDOW_H#include QMainWindow #include QSqlDatabase // 用于连接打开数据库 #include QSqlQuery // 用于访问操作数据库QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACEclass MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void on_pushButton_add_clicked();void on_pushButton_del_clicked();void on_pushButton_update_clicked();void on_pushButton_find_clicked();private:Ui::MainWindow *ui;QSqlDatabase db; }; #endif // MAINWINDOW_HQListWidget中每一条记录的显示可以自定义一种显示方式新建一个类itemfrom #ifndef ITEMFROM_H #define ITEMFROM_H#include QMainWindownamespace Ui { class itemFrom; }class itemFrom : public QMainWindow {Q_OBJECTpublic:explicit itemFrom(QWidget *parent nullptr);~itemFrom();void setUserInfo(int id, QString name, int age);private:Ui::itemFrom *ui; };#endif // ITEMFROM_H #include itemfrom.h #include ui_itemfrom.hitemFrom::itemFrom(QWidget *parent) :QMainWindow(parent),ui(new Ui::itemFrom) {ui-setupUi(this); }itemFrom::~itemFrom() {delete ui; } // 将值设置在ui上 void itemFrom::setUserInfo(int id, QString name, int age) {ui-label_id2-setText(QString::number(id));ui-label_age2-setText(QString::number(age));ui-label_name2-setText(name); }
http://www.hkea.cn/news/14484843/

相关文章:

  • 简单的设计网站wordpress怎么流量赚钱
  • 视频教做家常菜的网站做网站推广的一般都是什么公司
  • 南宁网站制作建设为什么要用wordpress
  • 教育网站制作哪个好wordpress radiate
  • 东莞教育建站做淘宝网站目的是什么
  • 扫描做电子版网站如何选择网站制作公司
  • 苏州网站建设方法网站建设预览
  • 网站开发工作流审批流wordpress 照片墙插件
  • 网站备案取消wordpress去-
  • 影视传媒公司网站php源码百度网站提交入口百度
  • 加强医院网站建设有关网站建设的合同
  • 丽水网站建设微信推广廊坊网站制作费用
  • 网站搜索框wordpress百度翻译
  • 北京手机网站设计报价广东省建设安全中心网站
  • 传媒网站设计2023网站分享
  • 青岛网站推广怎么做好购买腾讯备案网站
  • 番禺建设网站公司哪家好不是固定ip如何做网站
  • 北京海大网智网站建设制作公司小学网站asp
  • 网站建设服务费费计入什么科目城乡建设环保部网站
  • 宜宾团购网站建设阿里云域名价格
  • 那个网站可以学做西餐属于网络制作平台的是
  • 沈阳网站制作网页wordpress怎么编辑的
  • 做图书馆网站新乡免费网站建设
  • 怎么关闭自己公司网站公示区信息查询方法
  • 公司网站建设建议自己建个网站需要什么
  • 北京价格网站建设wordpress 教学培训
  • 做网站的要到处跑吗正能量网站免费下载
  • 上传空间网站赣州新闻联播2023
  • 做网站时背景图片浮动网站建设水上乐园
  • 大连网站建设谁家好微信网站建设合同