SQLite 数据读取示例
下面以默认数据库:
EsBrowser\Machine\MySQLite.db
为例。
客户可以使用 DB Browser for SQLite、C#、Python 或其他支持 SQLite 的程序直接执行 SQL 查询。
示例 1:读取最近的测量记录
SELECT
num,
元素名称,
类型,
add_time,
工件名称,
物料号,
批号,
产品SN,
公差状态
FROM 测量主表
ORDER BY num DESC
LIMIT 20;可以用于读取最近完成的 20 个测量元素。
例如可能得到:
1003 角度1 角度 2026-09-24 10:25:321002 距离1 距离 2026-09-24 10:25:301001 圆1 圆 2026-09-24 10:25:28
数据库中的 num 会随新记录递增,因此也可以用于增量读取。
示例 2:读取某个元素的详细测量结果
假设需要读取主表编号:
1001
对应的详细测量数据:
SELECT
属性,
测量值,
标准值,
上公差,
下公差,
误差,
判定
FROM 测量从表
WHERE 主表num = 1001;如果 1001 是圆1,结果可能类似:
属性 测量值 标准值 上公差 下公差 误差 判定直径 10.002 10.000 0.010 -0.010 0.002 OK圆心 X 25.123圆心 Y 18.456
一个圆元素通常会对应多个测量属性,这些属性分别存放在测量从表中。
示例 3:一次读取主表和测量结果
也可以直接将主表和从表关联起来:
SELECT
M.num,
M.元素名称,
M.类型,
M.add_time,
D.属性,
D.测量值,
D.标准值,
D.上公差,
D.下公差,
D.误差,
D.判定
FROM 测量主表 AS M
LEFT JOIN 测量从表 AS D
ON D.主表num = M.num
ORDER BY M.num DESC;这样第三方系统可以一次获得:
这个元素是谁 + 测量了什么 + 测量结果是多少
例如:
1001 圆1 圆 直径 10.0021001 圆1 圆 圆心 X 25.1231001 圆1 圆 圆心 Y 18.4561002 距离1 距离 距离 15.0041003 角度1 角度 角度 89.998
示例 4:按产品 SN 查询
如果客户使用产品序列号管理工件,可以按照:
产品SN
查询:
SELECT
num,
元素名称,
类型,
add_time,
产品SN
FROM 测量主表
WHERE 产品SN = 'SN202609240001'
ORDER BY num;然后再根据返回的 num 查询对应的测量从表。
数据库主表实际保存物料号、批号和产品 SN 等产品信息。
示例 5:按批号查询所有测量结果
SELECT
M.批号,
M.产品SN,
M.元素名称,
D.属性,
D.测量值,
D.判定,
M.add_time
FROM 测量主表 AS M
JOIN 测量从表 AS D
ON D.主表num = M.num
WHERE M.批号 = 'BATCH-001'
ORDER BY M.add_time;这种方式比较适合 MES 或 QMS 查询某一个生产批次的全部测量数据。
示例 6:增量读取新数据
如果客户自己的系统需要持续读取 Easson2D 新产生的数据,可以记录上一次已经读取到的最大 num。
例如上一次已经读取到:
num = 1000
下一次只需要查询:
SELECT *
FROM 测量主表
WHERE num > 1000
ORDER BY num;读取完成后,再记录新的最大 num。
这样不需要每次扫描整个数据库。
num 是主表自增编号,可以作为本地数据库的增量读取游标使用;如果数据库被重新建立,则编号会重新开始,因此长期跨库识别时还可以结合记录标识 GUID。
示例 7:读取图片信息
如果已经开启测量图片保存,可以查询:
SELECT
主表num,
结果图,
编号,
x轴,
y轴,
z轴,
放大倍率
FROM 测量附表
WHERE 主表num = 1001;数据库不会直接保存图片内容,而是保存图片文件信息。
实际 JPEG 图片保存在:
*2D_Data\EsBasic\年份\月份*
目录下。
一个更完整的客户对接例子
假设客户需要读取:
SN202609240001
这个工件的所有测量结果,可以先执行:
SELECT
M.num,
M.元素名称,
M.类型,
D.属性,
D.MeasuredValue,
D.标准值,
D.上公差,
D.下公差,
D.误差,
D.判定
FROM 测量主表 AS M
JOIN 测量从表 AS D
ON D.主表num = M.num
WHERE M.产品SN = 'SN202609240001'
ORDER BY M.num;即可得到类似:
圆1直径 10.002圆心 X 25.123圆心 Y 18.456
距离1距离 15.004
角度1角度 89.998
这里建议第三方系统如果需要进行进一步数值计算,优先考虑数据库里的 MeasuredValue 数值字段,而不是只依赖界面格式化后的"测量值"字符串;源码中确实额外保存了 MeasuredValue、AttributeId、LengthScale、IsAngle 这些辅助字段。