delphi源码 中间件 框架【前端sql文件】
1, 使用delphi 开发数据库方面的系统已经很多年,一直想朝着前后端分析的模式去开发,前后端不同的人去完成,可感觉delphi很多难做到类似web那样的分离,最后想着把sql语句从系统分离出来单独写在xml文件里,前端只要传入对应的sql ID。开发过类似erp 的人都知道此类系统都包含大量复杂的sql语句,存储过程,函数(搞web的人也许很难理解为什么要用复杂的存储过程);这样就可以把很多大一部分工作分配给不同人员了。
【xml文件】: 建议前端一个form一个xml 文件 格式如下

说明: xml文件名称,根节点可以取任意名称;建议跟前端form三者名称一致;
二级节点固定为adoquery;
三级节点:对应前端的ClientDataSet,名称可以任意取,建议一一对应;含输出参数的存储过程 sql前面无需加 exec ;connection属性 表示要连接的数据库,为空表示要连接ID=1的 数据库(配置数据库里面设置)。
四级节点:下面有5个子节点;【ssql】默认sql语句,可以是存储过程,函数,任意sql语句;前 面加 ‘:’ 表示参数;onlyexec="Y" 属性表示此sql语句没有返回值;默认有返回值。 【usql,isql,dsql】表示此ClientDataSet 修改,新增,删除资料要执行的SQL语句, 前端只要传入ClientDataSet.Delta值即可,无需知道或先设置此表的主键,更新字段; 请注意 usql, dsql语句的where条件参数格式 :OLD_字段名称;若不涉及到增删改此3 个节点 可不用增加。此方式可非常灵活的处理前端传过来的Delta。
【qsql】主要用来做一些自定义查询字段的综合查询,前端传入条件然后服务端用此slq 拼接前端传过来的where 条件(前端无需带where关键字)。
2,进入服务器把刚刚写的xm(可下载xml编辑工具写)添加到系统里面。
3,服务器启动时候会把xlm文件解析成对应的sql语句存储到sqllite临时表,前端只要传入sqlid即可(sqlID=文件根节点名+第三级节点名)。
4,考虑到写增删改sql比较繁琐,系统写了一个小工具可以一次性生成table的增删改语句;可复制或者另存到xml文件即可。如下图:

5,服务端界面:

浙公网安备 33010602011771号