Appearance
多表功能
多表功能用于需要关联多张数据表的复杂业务场景。
功能特点
- 支持主从表结构
- 支持任意表关联
- 支持跨表查询
- 支持事务处理(多表操作同时成功或失败)
适用场景
- 订单管理(订单主表 + 订单明细表)
- 采购管理(采购单 + 采购明细)
- 需要关联字典表展示的业务
主从表开发
数据结构
sql
-- 订单主表
CREATE TABLE t_order (
id INT PRIMARY KEY IDENTITY(1,1),
order_no NVARCHAR(50) NOT NULL,
customer_id INT,
total_amount DECIMAL(18,2),
order_status INT DEFAULT 0,
create_time DATETIME DEFAULT GETDATE(),
create_user NVARCHAR(50)
);
-- 订单明细表
CREATE TABLE t_order_detail (
id INT PRIMARY KEY IDENTITY(1,1),
order_id INT NOT NULL, -- 关联订单主表
product_id INT,
product_name NVARCHAR(200),
quantity DECIMAL(18,2),
unit_price DECIMAL(18,2),
amount DECIMAL(18,2)
);开发步骤
- 使用快速向导 → "主从表功能"
- 选择主表
t_order和从表t_order_detail - 设置关联字段:
t_order_detail.order_id = t_order.id - 系统自动生成:
- 主表列表页
- 主从表编辑页(主表信息 + 明细表格)
- 主表查询/保存/删除指令
- 明细表查询/保存/删除指令
- 事务处理逻辑
界面布局
通常主从表界面布局:
┌──────────────────────────────────────┐
│ 订单信息(主表) │
│ ┌──────┐ ┌──────────┐ │
│ │订单号:│ │ [输入框] │ │
│ └──────┘ └──────────┘ │
│ ┌──────┐ ┌──────────┐ │
│ │客户: │ │ [选择器] │ │
│ └──────┘ └──────────┘ │
│ │
│ 订单明细(从表表格) │
│ ┌──────────────────────────────┐ │
│ │ 商品 │ 数量 │ 单价 │ 金额 │ 操作│ │
│ ├──────────────────────────────┤ │
│ │ ... │ ... │ ... │ ... │ 编辑│ │
│ └──────────────────────────────┘ │
│ [新增明细] [删除选中] │
│ │
│ [保存] [取消] │
└──────────────────────────────────────┘跨表查询
多表功能支持使用 SQL 关联查询展示数据:
sql
SELECT
o.id,
o.order_no,
c.name AS customer_name,
o.total_amount,
o.order_status,
o.create_time
FROM t_order o
LEFT JOIN t_customer c ON o.customer_id = c.id
WHERE 1=1
AND o.order_status = @status
AND o.create_time >= @start_date
ORDER BY o.create_time DESC事务处理
多表操作默认使用事务,确保数据一致性:
- 保存主表 + 明细表在同一事务中
- 任意一步失败,全部回滚
- 删除主表时自动删除关联的明细数据