以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 查询显示几十行数据 效率问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=11242) |
-- 作者:zharen110 -- 发布时间: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编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间: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 -- 发布时间:2011/7/14 15:55:00 -- 哈哈 对 多谢指点 |