看看我下面这段代码,能运行 用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编辑过]
你这样搞得太复杂,用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编辑过]