度量快速开发平台中,组织机构维护中,有部门岗位设置,人员注册,人员定岗几个组织机构相关的功能,这些功能操作的表主要有sa_dept_dict,sa_staff_info,sa_staff_role表。系统使用平台提供的功能维护的部门岗位、人员以及定岗后,人员重新登录就能看到新设置的效果。
如果二次开发人员想重新构建部门岗位设置,人员注册,人员定岗这几个功能,向这些表插入数据的时候,如果直接用insert into 表的方式执行,则人员重新登录后,看不到设置的效果,这是因为平台中考虑了系统性能,对于组织机构数据进行了数据缓存。
那么用户二次构建组织机构时候,要如何来刷新组织机构缓存呢?
我们在向这几张表中插入数据的时候,就不能用 executeNonquery(insert into ) ,而需要用平台提供的 SaveDataTable 方法来实现,该方法检测到组织机构的表数据变化时,会自动刷新。
使用方法示例(构建一个人员定岗)
dim dt = executeSelect("select ID,USER_ID,DEPT_ID,SORT_ORDER,IS_DEFAULT from SA_STAFF_ROLE where 1=0")
dim dr
dr = dt.NewRow()
dr["ID"]=Guid()
dr["USER_ID"]=管理人员信息.GetFocusedRowValue("ID")
dr["DEPT_ID"]=return_RoleID
dr["SORT_ORDER"]= 1
dr["IS_DEFAULT "]= 0
dt.Rows.Add(dr)
SaveDataTable("default","SA_STAFF_ROLE",dt)
'保存DataTable,第一个参数为数据库名,字符串;第二个参数为表名,字符串;
'第三个参数为表对应的DataTable,只能保存数据库中有的字段。
SaveDataTable("default","table_name",datatable)
原文地址:http://bbs.delit.cn/thread-1067-1-1.html
转载请注明出处:
撰写人:度量科技http://www.delit.cn