Foxtable(狐表)用户栏目专家坐堂 → [求助] 系统速度问题


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

主题:[求助] 系统速度问题

帅哥哟,离线,有人找我吗?
大红袍
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/5 20:28:00 [只看该作者]

以下是引用zcgmxf在2016/7/5 20:09:00的发言:

老师,不对头啊,我用2016年3月18号前的版本没问题啊,不是索引的问题啊。

 

你用之前的版本连接数据库没有问题?你是不是改了什么代码啊?把对应的代码都注释掉啊。不加载数据也慢么?


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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/7/5 21:10:00 [只看该作者]

狐爸,找到问题了,是下面的一段代码有问题,一共有四段。要如何优化呢?

 

If e.DataCol.Name = "确认第二次接种" AndAlso e.DataRow("确认第二次接种") = True Then
    Dim nma() As String = {"序号","狂苗名称","狂苗生产厂家","狂苗批号","狂苗有效期","狂苗种类","狂苗规格","剂型","狂苗单位","第二次接种剂量","狂苗售价","病人姓名","性别","年龄","第二次接种部位","确认第二次接种"}  'A表数据来源列
    Dim nmb() As String = {"序号","药品名称","生产厂家","药品批号","有效期","种类","规格","剂型","单位","剂量","单价","受种者姓名","性别","年龄","接种部位","确认第二次接种"}  'B表数据接收列,
    Dim dh As  DataRow = DataTables("疫苗接种出库记录表").SQLFind("[序号] = '" & e.DataRow("序号") & "' and [药品名称] = '" & e.DataRow("狂苗名称") & "' and [日期] = '" & e.DataRow("第二次实际接种日期") & "'")
    If dh Is Nothing Then
        dh = DataTables("疫苗接种出库记录表").AddNew()
    End If
    For i As Integer = 0 To nma.Length - 1
        dh(nmb(i)) = e.DataRow(nma(i))
    Next
    dh.save
Else
    DataTables("疫苗接种出库记录表").SQLDeleteFor("[序号] = '" & e.DataRow("序号") & "' and [药品名称] = '" & e.DataRow("狂苗名称") & "' and [日期] = '" & e.DataRow("第二次实际接种日期") & "'")
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/5 21:32:00 [只看该作者]

 把 DataTables("疫苗接种出库记录表") 所需要的数据,全部都加载出来。

 

 尽量的少用 sqlFind 和 sqlDeleteFor


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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/7/5 22:05:00 [只看该作者]

狐爸,找到问题 了,是下面的代码有问题,一共有四段,该如何优化呢?谢谢!

 

 

 If e.DataCol.Name = "确认第二次接种" AndAlso e.DataRow("确认第二次接种") = True Then
    Dim nma() As String = {"序号","狂苗名称","狂苗生产厂家","狂苗批号","狂苗有效期","狂苗种类","狂苗规格","剂型","狂苗单位","第二次接种剂量","狂苗售价","病人姓名","性别","年龄","第二次接种部位","确认第二次接种"}  'A表数据来源列
    Dim nmb() As String = {"序号","药品名称","生产厂家","药品批号","有效期","种类","规格","剂型","单位","剂量","单价","受种者姓名","性别","年龄","接种部位","确认第二次接种"}  'B表数据接收列,
    Dim dh As  DataRow = DataTables("疫苗接种出库记录表").SQLFind("[序号] = '" & e.DataRow("序号") & "' and [药品名称] = '" & e.DataRow("狂苗名称") & "' and [日期] = '" & e.DataRow("第二次实际接种日期") & "'")
    If dh Is Nothing Then
        dh = DataTables("疫苗接种出库记录表").AddNew()
    End If
    For i As Integer = 0 To nma.Length - 1
        dh(nmb(i)) = e.DataRow(nma(i))
    Next
    dh.save
Else
    DataTables("疫苗接种出库记录表").SQLDeleteFor("[序号] = '" & e.DataRow("序号") & "' and [药品名称] = '" & e.DataRow("狂苗名称") & "' and [日期] = '" & e.DataRow("第二次实际接种日期") & "'")
End If

 


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/5 22:06:00 [只看该作者]

 看13楼

 

 不要sqlFind 和 sqlDeleteFor,改成find和DeleteFor


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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2016/7/6 10:08:00 [只看该作者]

老师,增加行时会触发 DataColChanged 事件啊?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/6 10:17:00 [只看该作者]

 你修改列自然会触发datacolchanged事件啊

 

 不想触发参考 http://www.foxtable.com/webhelp/scr/2218.htm

 


 回到顶部
总数 17 上一页 1 2