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

QSqlQuery查询语句

SqlQuery 封装了在 QSqlDatabase 上执行的 SQL 查询中创建、导航和检索数据所涉及的功能。 可用于执行 DML(数据操作语言)语句,如 SELECT、INSERT、UPDATE 和 DELETE, 以及 DDL(数据定义语言)语句,如 CREATE TABLE。 它还可用于执行非标准 SQL 的特定于数据库的命令

1、绑定值

QSqlQuery 支持将参数值绑定到占位符。

下面展示了使用几种不同绑定方法将值绑定到存储过程的示例。

1、使用命名占位符的命名绑定:

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (:id, :forename, :surname)");
query.bindValue(":id", 1001);
query.bindValue(":forename", "Bart");
query.bindValue(":surname", "Simpson");
query.exec();

2、使用命名占位符的位置绑定:

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (:id, :forename, :surname)");
query.bindValue(0, 1001);
query.bindValue(1, "Bart");
query.bindValue(2, "Simpson");
query.exec();

3、使用位置占位符绑定值(版本 1):

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (?, ?, ?)");
query.bindValue(0, 1001);
query.bindValue(1, "Bart");
query.bindValue(2, "Simpson");
query.exec();

4、使用位置占位符绑定值(版本 2):

QSqlQuery query;
query.prepare("INSERT INTO person (id, forename, surname) ""VALUES (?, ?, ?)");
query.addBindValue(1001);
query.addBindValue("Bart");
query.addBindValue("Simpson");
query.exec();

5、将值绑定到存储过程。下面代码调用名为 AsciiToInt() 的存储过程,通过其 in 参数向其传递一个字符,并将其结果作为 out 参数。

QSqlQuery query;
query.prepare("CALL AsciiToInt(?, ?)");
query.bindValue(0, "A");
query.bindValue(1, 0, QSql::Out);
query.exec();
int i = query.boundValue(1).toInt(); // i is 65

MySQL多条件语句查询

SELECT * FROM table WHERE condition1 AND condition2;
eg:

SELECT identity,patid FROM personInfo where patid = 11202201191498 AND createtime BETWEEN '2023-09-05 0:0:0' AND '2023-09-08 23:59:59'  ORDER BY createtime DESC
或者
SELECT identity,patid FROM personInfo where patid = 11202201191498 AND createtime >= '2023-09-05 0:0:0' AND createtime <= '2023-09-09 23:59:59'  ORDER BY createtime DESC

注: 在不确定MySQL语句是否正确的时候,可以安装Navicat客户端新建查询语句帮忙验证。

http://www.lryc.cn/news/165948.html

相关文章:

  • 用c语言编写出三底模型
  • 15 Python使用MySQL
  • 3、Nginx 常用的命令和配置文件
  • python经典百题之兔子出生问题
  • 不定积分的概念和性质
  • 远程访问服务器JupyterLab的配置方法
  • Java native 关键字
  • 【线性代数】沉浸式线性代数在线学习网站
  • Kotlin中特性、数据类、伴生对象、顶层函数
  • 《PostgreSQL物化视图:创建、维护与应用》
  • shell脚本之test命令
  • JAVA设计模式8:装饰模式,动态地将责任附加到对象上,扩展对象的功能
  • Linux学习之MySQL备份
  • 时序分解 | MATLAB实现北方苍鹰优化算法NGO优化VMD信号分量可视化
  • 分类预测 | Matlab实现RBF-Adaboost多特征分类预测
  • 【Java代码规范】阿里编码规约 VS CheckStyle
  • iPhone苹果15手机圆点怎么设置让屏幕上显示出来圆形图标?
  • kibana报错内存溢出问题解决
  • 【C语法】1124循环结构
  • 在PHP8中向数组添加元素-PHP8知识详解
  • Drupal __ 8.5.0 __ XSS文件上传 __CVE-2019-6341
  • Pycharm中配置Celery启动
  • Jmeter —— 常用的几种断言方法(基本用法)
  • mybatis bean属性识别丢失【NoSuchPropertyException】
  • 点云从入门到精通技术详解100篇-基于补全点云与图像像素级融合的障碍物识别
  • 商品分类显示scroll-view布局实现
  • 基本的SELECT语句——“MySQL数据库”
  • DedeCMS5.7远程文件包含漏洞分析
  • GpsAndMap模块开源,欢迎测评
  • DHT11 温湿度传感器