[TOC]
# 名称:
Database Query | SQL查询
# 图标:
![](https://box.kancloud.cn/d933483e219a52c348d13dc199fae96e_36x36.PNG =35x35)
# 功能:
* SQL语句方式处理库表记录复杂的查询
* 常用于多个数据库表/视图的SQL语句查询并返回想要的数据结果
# 使用方式:
## SQL语句关联查询设计
### 输入
* <**SQL Statement**>:字符类型值的输入,单数,必须项;用于输入要执行的SQL语句
· 比如这个语句是两个表的关联查询:SELECT Products.Name, Suppliers.NameFROM Products, SuppliersWHERE Products.Suppliers\_ID=Suppliers.Suppliers\_ID
· 为了让查询语句更加灵活,可以用传入参数的语句来查询,参数通过添加输入元件再传参数值方式实现,可以添加不同类型的多个输入元件作为多个参数传入值
· 默认有<**Value 1**><**Value 2**>两个输入元件,我们可以将其改名为“Product”和“Supplier”作为参数输入项,这样我们查询语句可以改为:SELECT Products.Name, Suppliers.Name FROM Products, Suppliers WHERE Products.Suppliers\_ID=Suppliers.Suppliers\_ID AND Products.Name=${Product} AND Suppliers.Name=${Supplier},这样就可以依据数据库中查询到的表中数据进行关联处理并输出查询到的结果
· 如果不需要参数输入,可以将<**Value 1**><**Value 2**>两个输入元件删除
* <**Number of Records**>:数字类型值的输入,单数,非必须项;用来定义最多输出多少条记录,符合要求的记录数少于此输入数字时全部输出
* <**Data Source**>:字符类型值的输入,单数,非必须项;用来指定在哪个数据库中进行记录查询操作,用一个字符常量传入数据库名称,常量值是项目配置文件设定的某个数据库名称,无此输入元件则默认为对项目主数据库进行处理
* <**Auto Commit**>:布尔类型值的输入,单数,非必须项;控制操作数据库处理是否为立即进行数据库信息变更处理的模式;查询处理一般无需此定义,因为不涉及记录变更;注意这与TERSUS开发时数据库处理默认操作模式不同;如果输入为Yes,则在生成新序列号时会立即进行数据库中值的变更处理:
· TERSUS默认的数据库执行模式是,在同一个Service服务器端处理(包括Secured Service)中,如果全部逻辑完成无异常,数据库才会执行相关操作,如果中间中断,或部分处理后报错/中断,则全部数据退回执行前状态,也就是默认成功完成全部逻辑处理才会更新数据库值
### 输出:
* <**Results**>:任意类型对象的输出,复数,必须项;查询结果输出元件
· 输出结果对象类型与查询语句中输出值相匹配,可能是元数据如文本字符型数据、数字类型对象
· 输出可以是一个数据库表记录元件或数据结构的组合对象
· 输出也可以是一个Map类型对象
* <**None**>:空值输出,单数,非必须项;用于完成处理但没有任何结果时传出空值
* <**Output Columns**>:固定数据结构的输出,复数,非必须传值;输出\<**Results**>的结果的字段名称和类型名称
· 输出结果是一固定格式的数据结构对象,名称为“Column Descriptor”(含两个固定名称“Name”和“Type”的文本类型/变量子对象),此对象可以选中<**Output Columns**>输出元件,右键单击元件并在弹出的菜单中选“Show in Respository Explorer”在项目目录中的元件模板中找到数据结构对象并拖放入开发区与<**Output Columns**>输出连线传值
· <**Output Columns**>输出的结果是将所有的字段名和对应的数据类型名称放入到“Column Descriptor”数据结构对象中(名称值传入Name和Type两个子元件),每个对象含一组字段的名称和类型信息
· 这个输出在<**Results**>输出为Map类型时使用
* 注意,<**Results**>和<**None**>是两个非此即彼的输出,即如果输出至少一条以上记录,则<**None**>没有空值输出;如果没有记录输出,<**None**>输出空值来标记没有记录
## 示例:
### 案例一:用SQL查询语句执行查询处理
任意一个项目的目录“Common/Templates/Database/Database Query/Database Test 8/Test Group By”中:
:-: ![](https://box.kancloud.cn/637141fc67008603b334ae48055629f8_744x387.PNG)
### 案例二:用参数动态生成查询语句进行查询
任意一个项目的目录“Common/Templates/Database/Database Query/Database Test 7/Select Expression”中:
:-: ![](https://box.kancloud.cn/fae844c3092ce21079dfff2faa533bf0_746x389.PNG)
- TERSUS概述
- 开始开发
- 开发工具
- 常用元件及操作
- 元件属性
- 固定元件名称
- 可视化元件
- 元件使用说明
- 基本操作元件
- Select单击选中
- Marquee框选多个
- Flow传值或流程
- Remove删除对象
- Note备注标签
- Trigger触发器/输入
- Exit输出
- Error Exit异常输出
- 数据类型元件
- Text字符数据/变量
- Number数字数据/变量
- Date日期数据/变量
- Date and Time时间数据/变量
- Boolean布尔数据/变量
- Binary二进制数据/变量
- Map键值数据/变量
- Data Structure自定义数据结构
- Database Record数据库表/记录
- File文件数据/变量
- Error错误或异常类型的数据
- Anthing任意数据/变量
- Nothing空值
- 常量常数元件
- Text字符/文本常量
- Number数字常量
- Date日期常量
- Date and Time时间常量
- Yes布尔常数是
- No布尔常数否
- 行为处理元件
- Action普通行为处理
- Service服务器行为处理
- Secure Service安全验证服务器处理
- System系统功能逻辑处理
- Callable Service可调用的行为处理
- 集合处理元件
- Appears对象是否出现
- Count计数
- Create生成
- Exclude排除
- Exists是否有值对象
- Find Elements查找对象
- First第一个对象
- Get Numberred Item第N个对象
- Last最后一个对象
- Insert Numberred Item插入第N个
- Remove Numberred Item删除第N个对象值
- Merge合并
- Range区间整数值
- Sort排序
- Unique Items唯一化
- Get Map Entry取键值
- Put Map Entry存键值
- Group组合
- Filter Numbers过滤
- 数据库/记录处理元件
- Insert记录插入
- Update更新
- Delete删除
- Database UpdateSQL处理
- Call Procedure执行处理
- SQL Batch批处理
- Squence Number序列号
- Find查询
- Advanced Find高级查询
- Database Query SQL查询
- Commit执行
- Roll Back回滚
- Get Catalogs获取数据源名称
- Get Schemas获取实例名称
- Get Tables获取库表信息
- Get Columns获取字段信息
- 日期时间元件
- Construct Date生成日期
- Construct Date and Time生成时间
- Earlier是否早于
- Earlier or Equal是否早于等于
- Earliest最早日期时间
- Equal是否同一日期时间
- Format Date and Time日期时间转字符串
- Parse Date and Time字符串生成日期时间
- Get Week周序号
- Later是否晚于
- Later or Equal是否晚于等于
- Latest最晚日期时间
- Now当前时间
- Relative Date相对日期
- Relative Time相对时间
- Split Date日期拆分
- Split Date and Time日期时间拆分
- Time Difference时间间隔
- Today当前日期
- Week Dates某周日期
- 用户端处理元件(显示行为元件)
- Alert提示
- Confirm确认
- Set Unload Confirmation退出确认
- Back上页
- Forward下页
- Focus输入定位
- Go to URL打开地址
- Create Location生成地址
- Prompt for Date日期弹窗
- Close Window关闭窗口
- Delete Elements删除元件
- Refresh刷新
- Log Out退出登录
- Play Sound播放音频
- Print打印
- Reload重新加载
- Show File下载
- Switch View跳转显示
- Get Element Name元件名称
- Get Style Attribute获取样式
- Set Style Attribute设定样式
- Get Event Attribute用户行为
- Add Style Class添加样式类
- Remove Style Class删除样式类
- Get View Parameters地址参数
- Get Cookie取客户端用户数据
- Set Cookie存客户端用户数据
- Store键值存入本地
- Retrieve读取本地键值
- Get Parent父元件
- Get Index显示序号
- Get GeolocationGPS位置
- Show树目录显示
- Background Action后台行为(异步)处理
- Call Java Applet执行Applet
- Click点击
- Fire Event触发事件
- Set Alert Mode是否提示
- Take Picture拍照
- Is Online是否联网在线
- 用户端元件(显示元件)
- Pane显示块
- Row行
- Column列
- Toolbar工具条
- Button Group按钮组
- Button按钮
- Image图片
- Label字符标签
- Form表单
- Text Field字符输入
- Text Area多行字符输入
- Password密码输入
- Number Field数字输入
- Date Field日期输入
- Selection Field下拉选择
- File Field 文件输入
- Check Box勾选
- Radio Button Group圆形单选
- Radio Button圆形按钮
- Text Labeled Field带标签的字符输入
- Number Labeled Field带标签的数字输入
- Date Labeled Field带标签的日期输入
- Selection Labeled Field带标签的下拉选择
- Check Box (With Label)带标签的勾选
- Text Display字符显示
- Number Display数字显示
- Date Display日期显示
- Date and Time Display时间显示
- Link链接
- Group组
- List列表
- Page Dialog页
- Modal Dialog弹窗
- Tabbed Pane分页显示
- Split Pane左右栏
- Simple Table简单表格
- Table表格
- HTML Tag任意标签元件
- HTML Display显示超文本
- HTML Editor富文本编辑器
- 流程处理元件
- Add都满足
- Branch是哪些值
- Branch by Type是哪些类型
- Conditional Flow有条件传值
- 数学元件
- Absolute Number绝对值
- Add相加
- Average平均数
- Compare比较
- Convert Text to Number字符串转数字
- Convert Number to Text数字转字符串
- Decrement减1
- Devide除
- Equal是否相等
- Equal with Tolerance是否差不多
- Greater大于
- Greater or Equal大于等于
- Increment加1
- Is Zero是否为0
- Maximum最大数
- Minimum最小数
- Multiply乘
- Negtive是否小于0
- Negtive or Zero是否小于0或等于0
- Positive是否大于0
- Positive or Zero是否大于0或等于0
- Product积
- Random Number随机数
- Round取小数位
- Smaller小于
- Smaller or Equal小于等于
- Square Root平方根
- Subtract减
- Sum和
- 安全控制元件
- Check Permissions是否有权限
- Get All Permissions全部权限
- Get Logged-in User登录用户ID
- Set Logged-in User授权登录
- Get Session Attributes用户服务器信息
- Encript加密
- Decript解密
- Generate Key生成密钥
- Secure Hash哈希加密值
- 文本/字符串处理元件
- Compute Hash转哈希值
- Concatenate合并
- Equal相同
- Extract取字符串
- Get Position位置
- Is Empty是否空值
- Length长度
- Match结构判定
- Replace替换
- Escape Regex正则表达式字符转义
- Split拆分
- Trim移除空格
- Ends with判断结尾
- Starts with判断开头
- Lower Case转小写
- Upper Case转大写
- Binary to Text转字符串
- Text to Binary转二进制
- Encode URL地址编码
- Decode URL地址解码
- Read Lines读取文本
- HTML Filter过滤
- Escape HTML转字符实体
- Unescape HTML实体转字符串
- Escape Text转格式文本
- Unescape Text转字符串
- Prepare Text Template文本模板
- Create Text from Template生成文本
- 集成功能元件
- Deep Copy深拷贝
- Equal对象是否相等
- Identical是否一致
- Convert转数据结构
- Create from Template模板生成字符串
- Get Deployment Parameters部署参数
- Get Content Type格式处理
- Get Context Element取元件
- Get Element取元件
- Set Element设定值
- Read File文件内容
- Read Binary File文件内容
- Create File URL文件地址
- Read Resource文件内容
- Write Resource生成文件
- Log日志
- HTTP Request HTTP请求
- Get HTTP Headers HTTP头信息
- Get File Atrributes文件信息
- Get Folder Contents文件夹信息
- Run External Command运行其他程序
- Load CSV Table上传CSV数据
- Load Excel Table导入Excel数据
- Notify Error报错信息
- SerialIZE XML转XML文本
- Parse XML生成xml数据可视化对象
- Create JSON生成JSON文本
- Parse JSON Json字符转数据可视化对象
- Parse字符串转数据可视化对象
- Run Javascript运行JS脚本
- Send Email发邮件
- Publish发送信息
- Subscribe订阅信息
- Timer定时处理
- Cancel Timer取消定时处理
- Transform Image图片转置
- Convert Image转图片格式
- Get Image Attibutes图片参数
- Get Image Matadata图片属性
- Generate Barcode条码二维码
- Wait等待
- Get Modal获取模型
- Dynamic Invocation动态调用模型
- Invoke Element Action元件操作
- Get Mail邮件信息
- Delete Mail删除邮件
- Parse CSS样式文件
- ZIP文件打包
- Create OpenDocument from Template生成文件
- Convert Document转文件格式
- Convert to PDF文件转PDF
- Stamp PDF PDF签字
- Concatenate PDF 合并PDF
- Get PDF Attributes PDF属性
- 图表元件
- Pie Chart饼图
- Bar Chart柱图
- Line Chart线图
- 自动测试
- Test Runner测试框架
- Test Suite测试包
- Display Test Case显示类测试块
- Process Test Case逻辑类测试块
- 授权版增加元件
- XIRR定投收益率
- Check Password LDAP单点登录认证
- Authorization用户登录模块
- Log日志系统模块
- Auto-complete Input Field自动完成内容输入
- Tree Display and Management树形目录模块
- Variables系统变量参数管理模块
- LDAP Query目录数据查询
- Export to Excel导出数据到Excel
- Update Excel Table数据插入到Excel
- Update Excel Text更新Excel中的值
- 从需求出发的开发
- 语法基础
- 数据类型与变量
- 判断、循环和函数
- 基于对象的处理
- 浏览器程序
- 表单及用户交互
- 窗体和框架
- 正则表达式
- 日期、时间和计时器
- 错误、调试和处理
- 常见报错信息
- Cookie存储信息
- HTML使用
- XML、Json处理
- Office相关文档处理
- Ajax处理
- 消息发送与接收
- 企业级应用
- 应用安全性
- 前端及样式设计
- 常用样式标签
- 用样式类定义样式
- 默认样式文件说明
- Bootstrap样式说明
- 样式设计中图标使用
- 第三方功能接入
- Echarts数据可视化
- 发送短信息
- Lodop专业打印
- 地图API接入
- API接口使用
- 请求第三方接口
- 为第三方提供接口
- 无代码项目中调用
- 数据及数据库管理
- 数据库表
- 库表字段
- 数据库独立管理
- 软件部署与服务器管理
- 服务器环境搭建
- 项目及服务器运维
- APP生成、小程序应用
- 移动端开发
- 小程序类接入
- 生成安卓应用
- 生成iOS应用
- 问题及技术支持