0

总结 SQLite 表中详细记录的推荐方法是什么,如以下 SQL 代码。让用户查看当前在 DBGrid 中的汇总记录,然后一旦一切正常,用户就可以突出显示行并按下“已处理”按钮,然后应该使用“已处理”代码更新详细记录。

目前我正在使用具有数据源(SQLite 文件)、Devart UniDAC UniQuery 和 DBGrid 的 Delphi VCL。UniQuery 的 SQL 代码如下:

SELECT PartNum, StoreLoc, CostCenter,
  SUM( Weight )
  FROM tblMaster
  WHERE Weight > 0
  GROUP BY PartNum, StoreLoc, CostCenter
  HAVING Processed = 0

这实际上完美地填充了 DBGrid,我可以选择单行或多行。然后我应该能够按下一个按钮来确认应将详细记录中的已处理字段从 0 更改为 1 的交易。

CREATE TABLE tblMaster ( PartNum text, Weight real, Emp text, Defect
text, StoreLoc text, CostCenter text, Date text, Time text, Processed
text );

以下是一些示例数据:

sqlite> select * from tblMaster
9986-0000|1.2|E1|D1|S1|CC1|6/28/2019|13:55|0
9986-0000|0.5|E1|D1|S1|CC1|6/28/2019|13:55|0
9986-0000|1.0|E1|D1|S2|CC1|6/28/2019|13:55|0
9986-0000|1.2|E1|D1|S3|CC1|6/28/2019|13:55|0
9986-0022|1.2|E1|D1|S1|CC1|6/28/2019|13:55|0
9986-0022|0.5|E1|D1|S1|CC1|6/28/2019|13:55|0
9986-0022|1.0|E1|D1|S2|CC1|6/28/2019|13:55|0
9986-0022|1.2|E1|D1|S3|CC1|6/28/2019|13:55|0

我能想到的唯一方法是从 DBGrid 中获取突出显示的行,然后简单地阅读每个详细记录并更新 Processed 字段。

4

0 回答 0