qt连接MySql数据库及增删改查示例

2023-05-16


#include "mainwindow.h"  

#include "ui_mainwindow.h"  

#include "QtSql/QSqlDatabase"  

#include "QMessageBox"  

#include "qdebug.h"  

#include <QSqlError>  

#include <QSqlDatabase>  

#include <QSqlQuery>  

#include <QTime>  

MainWindow::MainWindow(QWidget *parent) :  

    QMainWindow(parent),  

    ui(new Ui::MainWindow)  

{  

    ui->setupUi(this);  

}  

  

MainWindow::~MainWindow()  

{  

    delete ui;  

}  

  

void MainWindow::on_pushButton_clicked()  

{  

    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");  

        db.setHostName("127.0.0.1");  

        db.setPort(3306);  

        db.setDatabaseName("MyDataBaseName"); //不是Database,记得别填错  

        db.setUserName("root");  

        db.setPassword("root");  

        bool ok = db.open();  

        if (ok){  

            QMessageBox::information(this, "infor", "link success");  

        }  

        else {  

            QMessageBox::information(this, "infor", "link failed");  

            qDebug()<<"error open database because"<<db.lastError().text();  

        }  

  

  

}  

  

void MainWindow::on_pushButton_2_clicked()  

{  

    QSqlQuery query;  

    QString sql1 = "create table ChannelValues1(id int ,name varchar(100),Ch1 double(64,5),Ch2 double(64,5));";  

    query.exec(sql1);  

}  

  

void MainWindow::on_pushButton_3_clicked()  

{  

    QTime time;  

    time.start();  

    for(int i=0;i<500*10000;i++)  

    {  

        int id = 0;  

        QString name = "aaa";  

        double Ch1 = 9.999;  

        double Ch2 = 8887.987666652;  

        QString sql = QString("insert into ChannelValues1(id,name,Ch1,Ch2) values('%1','%2','%3','%4')").arg(id).arg(name).arg(Ch1).arg(Ch2);  

        QSqlQuery query;  

        query.exec(sql);  

    }  

  qDebug()<<"耗时"+time.elapsed()<<"毫秒";  

}  

  

void MainWindow::on_pushButton_4_clicked()  

{  

      int id =0;  

       QString sql = QString("delete from ChannelValues1 where id = '%1'").arg(id);  

       QSqlQuery query;  

       query.exec(sql);  

}  

  

void MainWindow::on_pushButton_5_clicked()  

{  

        QSqlQuery q;  

        q.exec("select *from ChannelValues1");  

        while(q.next())   //遍历完为false  

        {  

            //以下标  

            //qDebug()<<q.value(0).toInt()<<q.value(1).toString()<<q.value(2).toInt()  

           // <<q.value(3).toInt();  

            //以字段  

            qDebug()<<q.value("id").toInt()<<q.value("name").toString()<<q.value("Ch1").toDouble()  

            <<q.value("Ch2").toDouble();  

        }  

}  

  

void MainWindow::on_pushButton_6_clicked()  

{  

    QSqlQuery query;  

    QString sql1 = "DROP table ChannelValues1";  

    query.exec(sql1);  

}  

  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

qt连接MySql数据库及增删改查示例 的相关文章

  • MYSQL 从表中选择,获取表中最新/最后 10 行

    最好 最简单的方法是什么 我目前的查询是 SELECT FROM chat WHERE userID session AND toID friendID OR userID friendID AND toID session ORDER B
  • 检索MySQL中特定日期范围内发生的所有记录

    我有一个包含多个合同的表 每个合同都有一个开始日期和一个结束日期 如下所示 ID Contract Name Start Date End Date 1 Joe Bloggs 2012 01 01 2012 02 05 2 John Smi
  • 为什么 LOCK TABLES [table] WRITE 不阻止表读取?

    根据http dev mysql com doc refman 5 0 en lock tables html http dev mysql com doc refman 5 0 en lock tables html如果我锁定一张表以在
  • 如何将 mvc-mini-profiler 与 Entity Framework 4.1 一起使用

    我尝试将 mvc mini profiler 与 MVC3 一起使用 但不断收到以下错误 无法确定 MvcMiniProfiler Data ProfiledDbConnection 类型连接的提供程序名称 下面是我用来尝试实例化上下文的代
  • Django 管理员 - 登录

    我正在建造一个Django Web App 与 Django Suit 用于管理界面 已经让 Python 2 7 Django 1 10 和 MySQL 和谐通信并启动了一个项目 python m django admin startpr
  • 使用 Hibernate 在 MySQL 中存储字节数组

    我正在尝试保存带有字节数组字段的实体 我在 MySQL 数据库之上使用 Hibernate 和 JPA 这是字段定义 对于嵌入式 H2 数据库来说效果很好 Entity name blob public class Blob Lob Bas
  • HTAccess - 令人困惑的干净网址

    如果我想简单地重定向 clients page to clients php view page我会使用像这样简单的东西 它效果很好 Options FollowSymlinks RewriteEngine on RewriteRule c
  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • 如何用 UNION 运算符替换 OR 运算符?

    这是我的查询 SELECT h id h subject h body matnF h amount h keywords tags h closed h author id author h AcceptedAnswer h type h
  • SQL 检查一组日期是否在指定的日期范围内

    我有一个表 其中保存架构中房间不可用的日期 ROOM ID DATE UNAVAILABLE 我需要一个 sql 查询来检查两个日期范围内是否有可用房间 类似于 Select All rooms that are constantly av
  • MySQL 与 PHP 的连接无法正常工作

    这是我的情况 我正在尝试使用 Apache 服务器上的 PHP 文件连接到 MySQL 数据库 现在 当我从终端运行 PHP 时 我的 PHP 可以连接到 MySQL 数据库 使用 php f file php 但是当我从网页执行它时 它只
  • MySQL 按主键排序

    某些 SQL 服务器允许使用通用语句 例如ORDER BY PRIMARY KEY 我不相信这适用于 MySQL 是否有任何此类解决方法可以允许跨多个表自动选择 或者是否需要查找查询来确定主键 我一直在研究的解决方法包括调用SHOW COL
  • MySQL 服务器未启动

    当我做 mysql u root p并输入my password这就是我得到的 错误 2002 HY000 无法通过套接字 var run mysqld mysqld sock 连接到本地 MySQL 服务器 2 所以我输入 systemc
  • 如何将 MySQL 数据库更改为 UTC?

    我使用的是 Windows 7 对数据库方面的东西有点陌生 我尝试在 Google 上搜索如何将系统时区更改为 UTC 但文档有些高级 我不太确定如何更改此字段 在 my ini 文件的 mysqld 部分下 添加以下行 default t
  • 社交应用程序的数据库设计和优化注意事项

    通常的情况 我有一个简单的应用程序 允许人们上传照片并关注其他人 因此 每个用户都会有类似 墙 或 活动源 的东西 他或她可以在其中看到他 她的朋友 他或她关注的人 上传的最新照片 大多数功能都很容易实现 然而 当涉及到这个历史活动源时 由
  • ActiveRecord3死锁重试

    Rails 3 或 ActiveRecord 3 是否有任何插件可以复制旧版本死锁重试 http agilewebdevelopment com plugins deadlock retry插入 或者 该插件仍然适用于 Rails 3 吗
  • 当“修复表”查询在 mysql 中不起作用时该怎么办?

    我收到此错误 表的存储引擎不支持修复 当我尝试使用查询修复表时repair table tbl college master 表是 innodb 类型 但我不知道我收到此错误 See 手册 http dev mysql com doc re
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • Python:如何使用生成器来避免 sql 内存问题

    我有以下方法来访问 mysql 数据库 并且查询在服务器中执行 我无权更改有关增加内存的任何内容 我对生成器很陌生 并开始阅读更多有关它的内容 并认为我可以将其转换为使用生成器 def getUNames self globalUserQu
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go

随机推荐