Skip to content

多表功能

多表功能用于需要关联多张数据表的复杂业务场景。

功能特点

  • 支持主从表结构
  • 支持任意表关联
  • 支持跨表查询
  • 支持事务处理(多表操作同时成功或失败)

适用场景

  • 订单管理(订单主表 + 订单明细表)
  • 采购管理(采购单 + 采购明细)
  • 需要关联字典表展示的业务

主从表开发

数据结构

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)
);

开发步骤

  1. 使用快速向导 → "主从表功能"
  2. 选择主表 t_order 和从表 t_order_detail
  3. 设置关联字段:t_order_detail.order_id = t_order.id
  4. 系统自动生成:
    • 主表列表页
    • 主从表编辑页(主表信息 + 明细表格)
    • 主表查询/保存/删除指令
    • 明细表查询/保存/删除指令
    • 事务处理逻辑

界面布局

通常主从表界面布局:

┌──────────────────────────────────────┐
│  订单信息(主表)                       │
│  ┌──────┐  ┌──────────┐              │
│  │订单号:│  │ [输入框]  │              │
│  └──────┘  └──────────┘              │
│  ┌──────┐  ┌──────────┐              │
│  │客户:  │  │ [选择器]  │              │
│  └──────┘  └──────────┘              │
│                                        │
│  订单明细(从表表格)                    │
│  ┌──────────────────────────────┐    │
│  │ 商品 │ 数量 │ 单价 │ 金额 │ 操作│    │
│  ├──────────────────────────────┤    │
│  │ ... │ ...  │ ...  │ ...  │ 编辑│    │
│  └──────────────────────────────┘    │
│  [新增明细] [删除选中]                  │
│                                        │
│  [保存] [取消]                          │
└──────────────────────────────────────┘

跨表查询

多表功能支持使用 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

事务处理

多表操作默认使用事务,确保数据一致性:

  • 保存主表 + 明细表在同一事务中
  • 任意一步失败,全部回滚
  • 删除主表时自动删除关联的明细数据

基于 MIT 许可发布