" " "

数据库设置

金蜘蛛网页编辑器对数据库支持的特点:1.支持常见的如MySQL、MSSQL、SQLite等几乎所有数据库。2.支持数据库常见操作增(insert)、删(delete)、查(select)、改(update),不需要写代码。3.支持表格展现和表格数据保存、表格分页、列排序、行顺序调整、表格数据过滤,无需要写代码。4.支持如单据的主表明细表编辑、字段值自动生成,无需写代码。
可以进行数据库设置的组件只有表单和面板(面板还包括LayUI的面板)。数据库设置主要包括数据库连接源、中文名称、删除或更新的对应表、关键字、读取数据的表或SQL等等。下图是数据库相关Demo中的用户管理中的数据库设置:

数据库连接源

在设置数据库连接源之前,一定要先创建数据库连接,请参考创建数据库连接
数据库连接创建好后,把连接名称填入,表示该表单或面板上的元素可以访问该数据库。可以访问哪些表,请看下面的“读取数据的表或SQL”。

读取数据的表或SQL

前面的数据库连源设置只解决了连接的数据库是哪个的问题,这里“读取数据的表或SQL”设置从哪个表或怎样通过SQL语句读取数据并展现到界面上(注意:读取数据和保存数据的表是分开设置的,这是因为读取数据不一定单一表,也可能是一组SQL语句)。下图是数据库相关Demo中的用户管理中的“读取数据的表或SQL”设置:
可以直接填表名,表示直接从该表读取数据。但一般都根据网址传入的参数或上一网页Post过来的数据过滤后读取数据,这时就需要写一组SQL语句,可以参照上图的写法。如上图:双斜线“//”开头的表示行行注释,没有意义。实际需要的语句如下:
tmpstr := ' where depart like ' + QuotedStr('%' + Request.V('depart') + '%');
Sys_DB_SQL := 'select * from users' + tmpstr;

这其实是一组Pascal语句,01、02行的“tmpstr”和“Sys_DB_SQL”都是系统定义好的变量。01行的“Request.V('depart')”表示从网址或Post过来的数据中取名称为'depart'的值,函数“QuotedStr”在值前后加单引号。意思是当点击哪个部门,就取哪个部门的用户数据。见“用户管理”。 01行拼接where条件语句并赋值给“tmpstr”,02行完成整个SQL语句并赋值给“Sys_DB_SQL”,系统会拿“Sys_DB_SQL”去前面设置的“数据库连接源”对应的数据库执行并返回数据。当表单或面板上创建了显示的对象(如“文本框”、“输入框”等的“表字段设置”设置了字段名)就会把数据读取到界面上。

删除或保存数据对应表

如果只想把数据简单显示在网页上,前面的设置就可以了。但数据展现到网页后,往往还要修改并保存到数据库表中。“删除或保存数据对应表”就是设置保存数据的表。如果要保存或删除数据,一定要设置对应的表。

关键字

在保存或删除数据时,往往要按关键字定位要保存或删除的记录。该“关键字”作用就是设置保存或删除的关键字。如果有多个请用逗号分隔。在保存或删除时,要从当前页面取名称为关键字的元素(如input,text)值去执行操作。一般来说关键字的值往往是一串数字或字母,所以在读取数据到页面上时可以把该元素隐藏起来不可见。

中文名称

中文名称表示该部分数据库操作的名称,可以为空,主要作用是一个页面有多个表操作时,可以区分,在保存数据时如某项值为空的提示会用到。

更新数据成功执行的Pascal脚本、更新数据失败执行的Pascal脚本、新增数据成功执行的Pascal脚本、新增数据失败执行的Pascal脚本、保存数据后执行的Pascal脚本、保存数据前执行的Pascal脚本

这里的更新数据(对应数据库操作update)和新增数据(对应数据库操作的insert)都是属于保存操作。这些设置提供一些自定义操作。注意,这些都是后台的pascal语言语句。

删除数据成功执行的Pascal脚本、删除数据失败执行的Pascal脚本

在删除数据操作时提供一些自定义操作,如检查能否删除对应记录。注意,这些都是后台的pascal语言语句。

直接保存数据后前端执行的Js、直接保存数据前前端执行的Js、删除数据后前端执行的Js

HTML保存数据分Post(表单)保存和Ajax调用后台接口直接保存两种方式。这里执行的Js都是在使用Ajax直接保存前后执行的。删除数据后前端执行的Js也是使用Ajax方式执行。

保存数据时使用事务管理

如果保存数据时涉及到多个表或一个表的多步操作,为了保证数据的完整性,就需要启用事务来保存数据。

是表格(子控件按表格行展开)

“读取数据的表或SQL”中执行读取数据后的数据集如果有多条记录,展示数据时一般就要按表格多行展示。当该属性的值为true时,该表单或面板的第一级组件就会按数据集的记录数重复展现多行成表格。 演示例子

表格信息设置

当“是表格(子控件按表格行展开)”属性的值为true时,就可以设置表格的信息了。 演示例子

此表格数据需要保存

如果此表格的数据需要保存,值要设置“true”。如是只是展现数据不需要保存,请把值要设置“false”。

是表格时需要分页

值设置为“true”,表示需要分页。分页是系统自动完成的。实际使用时,还要在表格后面放置一个LayUI的分页组件,实际页切换,这也无需要写代码,都是系统自动实现的。

每页记录数

“是表格时需要分页”值设置为“true”后此属性才生效。设置每页显示的记录数。默认是10。

每页最大记录数

“每页记录数”虽然设置了一个值,但实际运行时还可以通过网址修改pagecount值改变“每页记录数”,本属性限制了最大的每页记录数。如https://wyeditor.com/demo/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.html?pn=14pagecount=5a=1#,pagecount=5表示每页显示5记录,再如如https://wyeditor.com/demo/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.html?pn=14pagecount=8a=1#,pagecount=8表示每页显示8记录。

分页排序字段

MSSQL数据库分页必须要设置分页排序字段。其他数据库如果不设置将不排序。

URL分页名称

默认为"pn",如果一个页面没有多个表格,不要修改。如果修改了值,使用了LayUI的页组件的话,也要修改其URL分页名称与此相同。

是分页时需要返回行号

在设置了分页情况,可以返回行号,在返回的数据集中行号的字段名称为“row_number”。

选中行底色

指表格选中的行的颜色。

奇数行底色、偶数行底色

设置奇数行和偶数行的颜色。

单元格输入事件(oninput)

该事件在输入值时发生。注意,该事件执行程序代码都是前端的Javascript代码。

单元格单击事件(onclick)

该事件在鼠标单击单元格时发生。注意,该事件执行程序代码都是前端的Javascript代码。

单元格按键弹起事件(onkeyup)

该事件在按键弹起时发生。注意,该事件执行程序代码都是前端的Javascript代码。

行计算事件(onrowcal)

在单元格的输入值、新增行时触发,同一行的其他单元格要跟着修改时用。注意,该事件执行程序代码都是前端的Javascript代码。如销售订单明细修改数量要计算金额=数量*单价:

数据汇总事件(onsum)

在单元格的输入值、表格新增行、删除行、读入表格数据时触发。注意,该事件执行程序代码都是前端的Javascript代码。

汇总字段设置(元素id=字段名)

在这里设置了汇显示元素与总字段的关系后,会在前面的“数据汇总事件(onsum)”触发时由系统自动进行汇总,无需要写代码。系统进行汇总时,只有数据类型的字段才能汇总,不是数据类型的字段只能显示表格行数。注意,该事件执行程序代码都是前端的Javascript代码。如销售订单明细的数量、金额、单价、折扣都做了汇总显示在表格最后行,序号列最后行显示记录数,该“汇总字段设置(元素id=字段名)”设置为:“ssno=wl;sqty=qty;sprice=price;samt=amt;szk=zk”,ssno=wl:表示id为“ssno”的元素显示字段wl的汇总结果,但wl字段的数据类型为字符,所以最终只显示记录数;sprice=price:表示id为“sprice”的元素显示字段price的汇总结果;samt=amt:表示id为“samt”的元素显示字段amt的汇总结果...

是明细表

值为“true”表示该明细表与主表是主明细关系。在单据保存数据时用到。如销售订单的主表与明细的关系。

明细表对应主表关键字(明细表字段=主表字段;)

“是明细表”值为“true”表示该明细表格与主表是主明细关系,这时需要设置与主表的关键字关系,如果有多组用逗号分隔,系统在删除和保存数据时要用到。如销售订单的明细表格如上图所示设置为:“dj_id=dj_id”,表示在数据库中,dj_id的值一样的主表(xs)与明细(xsmx)数据为同一单据的数据。

对应主表数据域元素ID

“是明细表”值为“true”时,应需要设置“对应主表数据域元素ID”。如销售订单明细的“对应主表数据域元素ID”设置为“mainform”,就是单据表头的表单"Form"的id值。下图是销售订单的主表:
下图是销售订单的主明细表:

自动填充序号

当值为“true”时,在表格增加行、删除行、调整行顺序时会自动修改序号。

序号字段名称

自动填充序号时用到。

访问本页需要登录

当页面需要用户登录才能访问时,设置该属性值 为“true”即可。

检查登录的session名称

默认为“Logined”,如果一个服务器只有一个登录系统,用默认值即可。如果有两个不同登录系统,则另一个系统登录需要修改些session名称。修改了检查登录的session名称,在用登录与退出登录组件时也要修改为相应的检查登录的session名称。如“数据库相关Demo” 中的“问题反馈查询”与“销售订单编制”、“用户录入”等就是两个不同的登录系统。

没有登录则跳转到URL

设置没有登录则跳转到的登录页面的URL。