sql查询语句的拼接小技巧(高手勿喷)
1. 基本的查询语句后面加上 WHERE 1=1,便于增加查询条件。
ASkStr := 'select * from Twork where 1=1 ';
if length(cxTEworkid.Text) <> 0 then
begin
ASkStr := ASkStr + ' and GWORKID like ' +
quotedstr('%' + cxTEworkid.Text + '%')
end;
2. 多表查询可以用一个字符串代替一个表。逻辑上更清晰。
WorkTable = 'select GWorkId from TWork where 1=1 ';
PayTable = 'select sum(GXMtotal) as SGXMtotal,GXMType from TPAY where GWorkId In ';
PayGroupBy = ' Group By GXMType ';
ASkStr := PayTable + ' ( ' + WorkTable + tmpwhere + ' ) ' + PayGroupBy;
3.自己定义一个连接函数,判断数据库初始化是否成功,便于控制。
function Tdm.InitDbOk: boolean;
begin
result := true;
if fileexists(DBFileName) then
begin
FDConn.DriverName := 'SQLite';
FDConn.LoginPrompt := false;
FDConn.Params.Clear;
FDConn.Params.Values['Database'] := DBFileName;
FDConn.Params.Values['DriverID'] := 'SQLite';
FDConn.Params.Values['CharacterSet'] := 'utf8';
try
FDConn.Connected := true;
except
result := false;
end;
end
else
result := false;
end;
sql查询语句的拼接小技巧(高手勿喷)的更多相关文章
- sql查询语句时怎么把几个字段拼接成一个字段
sql查询语句时怎么把几个字段拼接成一个字段SELECT CAST(COLUMN1 AS VARCHAR(10)) + '-' + CAST(COLUMN2 AS VARCHAR(10) ...) a ...
- SQL查询语句大全集锦
SQL查询语句大全集锦 一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询t ...
- SQL查询结果列拼接成逗号分隔的字符串:group_concat
转自:SQL查询结果列拼接成逗号分隔的字符串 背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 拼接的结果很长,导致拼接结果显示不全,可 ...
- 15个初学者必看的基础SQL查询语句
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...
- (转)经典SQL查询语句大全
(转)经典SQL查询语句大全 一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql s ...
- 转: 从Mysql某一表中随机读取n条数据的SQL查询语句
若要在i ≤ R ≤ j 这个范围得到一个随机整数R ,需要用到表达式 FLOOR(i + RAND() * (j – i + 1)).例如, 若要在7 到 12 的范围(包括7和12)内得到一个随机 ...
- 经典SQL查询语句大全
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- SQL查询语句分类
SQL查询语句有多种,下面总结下.首先先建三张表用于后面的实验 -- 学生表,记录学生信息 CREATE TABLE student( sno ), sname ), ssex ENUM('男','女 ...
- 浅谈SQL优化入门:1、SQL查询语句的执行顺序
1.SQL查询语句的执行顺序 (7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_ ...
随机推荐
- nginx 1.12 配置解析php
server { listen 80; server_name foo.com; root /path; index index.html index.htm index.php; location ...
- 使用JAVA爬取京东商品价格
有一件物品,你想看看它在京东下所有搜索结果的价格,要怎么办呢? 京东这个网站还是很好爬的,所有价格信息都写在了Html里面,而且跳到第二页之后,url也是有规律的,基本没有什么技术难度. 例如:想找i ...
- python利用paramiko连接远程服务器执行命令
python中的paramiko模块是用来实现ssh连接到远程服务器上的库,在进行连接的时候,可以用来执行命令,也可以用来上传文件. 1.得到一个连接的对象 在进行连接的时候,可以使用如下的代码: d ...
- 1、linux软件包管理
linux软件包管理分为两种:RPM包管理和源码包管理,其中RPM包管理又有两种方式:①RPM命令管理,②YUM在线命令管理. RPM包依赖关系: 1.树形依赖 2.环形依赖 (用一条命令同时装来解决 ...
- Rhythmk 一步一步学 JAVA (19) JAVA IO 文件常用操作
package com.rhythmk.filedemo; import java.io.BufferedReader; import java.io.File; import java.io.Fil ...
- 直接用SQL语句把DBF导入SQLServer
直接用SQL语句把DBF导入SQLServer 在SQLServer中执行 SELECT * into bmk FROM OpenDataSource( ’Microsoft.Jet.OLEDB. ...
- 「小程序JAVA实战」小程序的flex布局(22)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-22/ 之前已经把小程序的框架说完了,接下来说说小程序的组件,在说组件之前,先说说布局吧.源码:ht ...
- xmlhttp的OnReadyStateChange事件
这两天抽空升级了一下自己做的pon资料表,增加了OLT拓扑自动发现以及业务从MSE至OLT的全自动下发 等功能,让人没想到的是在处理xmlhttp回调时死活接收不到反馈信息, 在Excel论坛和微软官 ...
- kubenetes dns
E0228 07:32:28.912833 1 reflector.go:201] k8s.io/dns/pkg/dns/dns.go:147: Failed to list *v1.En ...
- Python与Go冒泡排序
#!/usr/bin/env python # -*- coding: utf-8 -*- # 冒泡排序法 def bubbling(array): # 时间复杂度:O(n^2) for i in r ...