以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  继续问?请问如何直接累计后台表中的数据?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=44166)

--  作者:lyfxybc
--  发布时间:2013/12/24 16:06:00
--  继续问?请问如何直接累计后台表中的数据?

继续问请问如何直接累计后台表中的数据?

窗口中有一控件“TextBox1”, 想从后台数据表中直接把数量列的数据累加起来复制给“TextBox1”(在控件中显示结果)

数据源:坯布输入

表名:合同

数据列名:数量

时间范围: 日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# "

如何完善下列代码

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select * From [合同] Where 数量>0 and 日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# "
dt = cmd.ExecuteReader()
e.Form.Controls("TextBox1").Text =  dt.Compute("Sum(数量)


--  作者:Bin
--  发布时间:2013/12/24 16:25:00
--  
http://www.foxtable.com/help/topics/0696.htm
--  作者:lyfxybc
--  发布时间:2013/12/25 13:00:00
--  

谢谢,已成功

 

Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select * From [合同] Where 数量>0 and 日期 >= #" & e.Form.Controls("DateTimePicker1").Value & "# And 日期 <= #" & e.Form.Controls("DateTimePicker2").Value & "# "
dt = cmd.ExecuteReader()
Dim sum As Integer=dt.Compute("Sum(数量)")
e.Form.Controls("TextBox1").Text = sum


--  作者:狐狸爸爸
--  发布时间:2013/12/25 13:07:00
--  

怎么可以这样? 效率太差了!!

 

例如:
 
 
Dim val As Integer
Dim cmd As New SQLCommand
cmd.CommandText = "Select Sum(数量) From {订单} Where 日期 > #2012/2/21#"
val  = cmd.ExecuteScalar()
 
上面的代码统计2012年2月21日之后的销售总量,并保存在变量val中。

 

这样才是正确的做法。


--  作者:lyfxybc
--  发布时间:2013/12/28 22:15:00
--  
谢谢