Foxtable(狐表)用户栏目专家坐堂 → 代码能简化


  共有2069人关注过本帖树形打印复制链接

主题:代码能简化

帅哥哟,离线,有人找我吗?
良才
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
代码能简化  发帖心情 Post By:2018/11/16 13:11:00 [只看该作者]

老师,下面代码能简化吗?请指教,谢谢!

初始不加载任何数据

Dim ary() As String = Functions.Execute("Xueqi")
cmd.C
cmd.CommandText = "select * F rom {教工基本信息}  Where 教工编号 = '" & e.Form.Controls("教工编号").Text & "' And 离职日期 Is Null"
dt = cmd.ExecuteReader(True) '记得将参数设置为True
If dt.DataRows.Count = 0 Then
    Dim max As String = DataTables("教工基本信息").SQLCompute("Max(教工编号)","教工编号 Like '" & ary(2) & "%'")
    If max = "" Then
        e.Form.Controls("教工编号").text= ary(2) & "01"
    Else
        Dim v As Integer = max.SubString(6,2)
        e.Form.Controls("教工编号").text= ary(2) & format(v +1,"00")
    End If
    dr = DataTables("教工基本信息").AddNew()
    dr("录入人") = _UserXingming
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
    dr("教工编号") = e.Form.Controls("教工编号").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("进本校日期") = e.Form.Controls("进本校日期").text
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("身份证号码") = e.Form.Controls("身份证号码").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("资格证类别") = e.Form.Controls("资格证类别").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr("履历") = e.Form.Controls("履历").text
    dr("特长") = e.Form.Controls("特长").text
    Tables("教工基本信息").Save()
Else If dt.DataRows.Count > 0 Then
    dr = dt.DataRows(0)
    dr("教工编号") = e.Form.Controls("教工编号").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("进本校日期") = e.Form.Controls("进本校日期").text
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("身份证号码") = e.Form.Controls("身份证号码").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("资格证类别") = e.Form.Controls("资格证类别").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr("履历") = e.Form.Controls("履历").text
    dr("特长") = e.Form.Controls("特长").text
    dr("修改人") = _UserXingming
    dr("修改日期") = Format(Date.Now,"yyyy-MM-dd")
    dt.Save()
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/16 15:06:00 [只看该作者]

1、不建议简化;

 

2、如果确实要简化,只能把这一段提取出来

 

    dr("录入人") = _UserXingming
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
    dr("教工编号") = e.Form.Controls("教工编号").text
    dr("教工姓名") = e.Form.Controls("教工姓名").text
    dr("进本校日期") = e.Form.Controls("进本校日期").text
    dr("手机号码") = e.Form.Controls("手机号码").text
    dr("党派") = e.Form.Controls("党派").text
    dr("民族") = e.Form.Controls("民族").text
    dr("学历") = e.Form.Controls("学历").text
    dr("专业") = e.Form.Controls("专业").text
    dr("身份证号码") = e.Form.Controls("身份证号码").text
    dr("毕业日期") = e.Form.Controls("毕业日期").text
    dr("毕业院校") = e.Form.Controls("毕业院校").text
    dr("资格证号码") = e.Form.Controls("资格证号码").text
    dr("资格证类别") = e.Form.Controls("资格证类别").text
    dr("职称") = e.Form.Controls("职称").text
    dr("籍贯") = e.Form.Controls("籍贯").text
    dr("家庭住址") = e.Form.Controls("家庭住址").text
    dr("履历") = e.Form.Controls("履历").text
    dr("特长") = e.Form.Controls("特长").text


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2018/11/16 15:14:00 [只看该作者]

Dim ary() As String = Functions.Execute("Xueqi")
cmd.C
cmd.CommandText = "select * F rom {教工基本信息}  Where 教工编号 = '" & e.Form.Controls("教工编号").Text & "' And 离职日期 Is Null"
dt = cmd.ExecuteReader(True) '记得将参数设置为True
Dim dr As DataRow
If dt.DataRows.Count = 0 Then
    Dim max As String = DataTables("教工基本信息").SQLCompute("Max(教工编号)","教工编号 Like '" & ary(2) & "%'")
    If max = "" Then
        e.Form.Controls("教工编号").text= ary(2) & "01"
    Else
        Dim v As Integer = max.SubString(6,2)
        e.Form.Controls("教工编号").text= ary(2) & format(v +1,"00")
    End If
    dr = DataTables("教工基本信息").AddNew()
    dr("录入人") = _UserXingming
    dr("录入日期") = Format(Date.Now,"yyyy-MM-dd")
Else If dt.DataRows.Count > 0 Then
    dr = dt.DataRows(0)
    dr("修改人") = _UserXingming
    dr("修改日期") = Format(Date.Now,"yyyy-MM-dd")
End If

Dim names() As String = {"中国","美国","日本","俄罗斯"}
For Each name As String In names
    dr(name) = e.Form.Controls(name).text
Next
Tables("教工基本信息").Save()


 回到顶部
帅哥哟,离线,有人找我吗?
良才
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:788 积分:6297 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/11/16 15:35:00 [只看该作者]

谢谢


 回到顶部