以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数据分析 求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81363) |
-- 作者:凡夫俗子 -- 发布时间:2016/2/25 20:26:00 -- 数据分析 求助 Dim cmd As New SQLCommand cmd.C cmd.CommandText="sel ect FItemID,FStockID,sum(FQty) as 数量 from ICInventory group by FItemID,FStockID HAVING sum(FQty) > 0 and FStockID < 739" Dim dt As DataTable = cmd.ExecuteReader 对K3即时库存进行条件取数后获得了一个 数据表 dt 如何 对dt表的 FItemID 进行 数量求和 并将数据写入 tb 表中。 "sel ect FItemID,FStockID,sum(FQty) as 数量 from ICInventory group by FItemID,FStockID HAVING sum(FQty) > 0 and FStockID < 739" 这个语句能修改一下 直接对 FItemID 的 FQty 求和不,条件是 FStockID < 739 即对原数据表中的部份数据进行分组求和。
|
-- 作者:大红袍 -- 发布时间:2016/2/25 20:32:00 -- 这个意思?
cmd.CommandText="sel ect FItemID, sum(FQty) as 数量 from ICInventory Where FStockID < 739 group by FItemID HAVING sum(FQty) > 0" |
-- 作者:凡夫俗子 -- 发布时间:2016/2/25 21:01:00 -- Dim tb As Table = e.Form.Controls("Table1").Table Dim st rSQLcmd As String = "sel ect FItemID, sum(FQty) as 数量 from ICInventory Where FStockID < 739 group by FItemID HAVING sum(FQty) > 0" tb.Fill(strSQLcmd,"K3SJ", False) \'以上代码运行正确 Dim cmd1 As New SQLCommand cmd1 .Co nnec tionNa me = "K3SJ" cmd1.Com mandText=strSQLcmd Dim dt1 As DataTable = cmd1.ExecuteScalar(False) \'以上代码报错 \'.NET Framework 版本:2.0.50727.5485 \'Foxtable 版本:2015.12.22.1 \'错误所在事件:窗口,即时库存,Button2,Click \'详细错误信息: \'无法将类型为"System.Int32"的对象强制转换为类型"Foxtable.DataTable". 代码哪里错了,原因在哪里
[此贴子已经被作者于2016/2/25 21:01:39编辑过]
|
-- 作者:大红袍 -- 发布时间:2016/2/25 21:04:00 -- ExecuteScalar 得到的,不是datatable,而是一个具体的值。
Dim a As String = cmd1.ExecuteScalar
要得到datatable,要用 ExecuteReader |