Foxtable(狐表)用户栏目专家坐堂 → 查询显示几十行数据 效率问题


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

主题:查询显示几十行数据 效率问题

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


加好友 发短信
等级:幼狐 帖子:195 积分:2069 威望:0 精华:0 注册:2011/6/29 19:14:00
查询显示几十行数据 效率问题  发帖心情 Post By:2011/7/14 15:49:00 [只看该作者]

看看我下面这段代码,能运行 用sql语句查出几十条数据花了3秒时间 这太慢了 我不知道问题出在什么地方了 请高手帮忙找找
Dim tp1 As WinForm.DateTimePicker = Forms("小计").Controls("DateTimePicker1")
Dim tp2 As WinForm.DateTimePicker = Forms("小计").Controls("DateTimePicker2")
Dim box As WinForm.TextBox = Forms("小计").Controls("TextBox1")

box.Value = Nothing
Dim sc As new SQLCommand
sc.C
sc.CommandText = "select 规格名称 ,sum(入库数) as 合计 from rk where 入库时间 between '" & tp1.Value & " ' and '" & tp2.Value & "' group by 规格名称"
DataTables("入库小计").DeleteFor(True)
Dim dt As DataTable = sc.ExecuteReader
If dt.DataRows.Count > 0 Then
    For i As Integer = 0 To dt.DataRows.Count - 1
        DataTables("入库小计").AddNew
        Tables("入库小计").Rows(i)("规格名称") = dt.DataRows(i)("规格名称")
        Tables("入库小计").Rows(i)("合计") = dt.DataRows(i)("合计")
    Next
    
End If
[此贴子已经被作者于2011-7-14 15:53:22编辑过]

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


加好友 发短信
等级:管理员 帖子:47448 积分:251048 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/7/14 15:54:00 [只看该作者]

你这样搞得太复杂,用Fill不是很好吗:

 

Dim tp1 As WinForm.DateTimePicker = Forms("小计").Controls("DateTimePicker1")
Dim tp2 As WinForm.DateTimePicker = Forms("小计").Controls("DateTimePicker2")
DataTables("入库小计").Fill("select 规格名称 ,sum(入库数) as 合计 from rk where 入库时间 between '" & tp1.Value & " ' and '" & tp2.Value & "' group by 规格名称","数据源名称",True)
 
多看看帮助中关于动态加载的部分,从这里开始:
 
 
[此贴子已经被作者于2011-7-14 15:54:53编辑过]

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


加好友 发短信
等级:幼狐 帖子:195 积分:2069 威望:0 精华:0 注册:2011/6/29 19:14:00
  发帖心情 Post By:2011/7/14 15:55:00 [只看该作者]

哈哈 对 多谢指点

 回到顶部