以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  update更新数据 告知条数和失败数都可以统计出来,但是成功数永远是0,求解!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148680)

--  作者:李孝春
--  发布时间:2020/4/13 11:25:00
--  update更新数据 告知条数和失败数都可以统计出来,但是成功数永远是0,求解!

upd ate更新数据   告知条数和失败数都可以统计出来,但是成功数永远是0,求解!
利用select查询数据  成功数有数据的
Dim vals As List(Of String)
vals=DataTables("信息列表").s qlGetValues("信息编号","操作单位=\'" & _usergroup & "\' ")
For Each val As String In vals
    output.Show(val)
    output.Show("信息编号=\'" & val & "\'" )
    Dim cmd As new SQ LCommand
    cmd.Conn ecti
    cmd.CommandText = "UPD ATE 信息列表 SE T 告知条数 = ? ,成功数 = ? ,失败数 = ? WHERE 信息编号=\'" & val & "\'"
    cmd.Parameters.Add("@告知条数",DataTables("告知内容").Co mpute("Count(姓名)","信息编号=\'" & val & "\' "))
    cmd.Parameters.Add("@成功数",DataTables("告知内容").Co mpute("Count(是否告知)","信息编号=\'" & val & "\' And 是否告知=\'是\' and 状态码=\'0\'"))
    cmd.Parameters.Add("@失败数",DataTables("告知内容").Co mpute("Count(是否告知)","信息编号=\'" & val & "\'  And 是否告知=\'否\'"))
    \'cmd.Parameters.Add("@信息编号","信息编号=\'" & val & "\'")
    cmd.ExecuteNonQuery
    
    output.Show(DataTables("告知内容").Co mpute("Count(姓名)","信息编号=\'" & val & "\' "))
    output.Show(DataTables("告知内容").Co mpute("Count(是否告知)","信息编号=\'" & val & "\' And 是否告知=\'是\' and 状态码=\'0\'"))
    output.Show(DataTables("告知内容").Co mpute("Count(是否告知)","信息编号=\'" & val & "\' And 是否告知=\'否\'"))
Next


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
【红色部分怎么采用下面的sel ect语句优化呢?
    Dim cmd1 As new SQ L Command
    cmd1.Conn ectio nName = "综合本地数据"
    cmd1.Com mandText = "se lect co unt (*) fr om {告知内容} where 信息编号=\'" & val & "\' And 是否告知=\'是\' and 状态码=\'0\'"
[此贴子已经被作者于2020/4/13 11:33:03编辑过]

--  作者:有点蓝
--  发布时间:2020/4/13 11:47:00
--  
肯定没有符合条件的数据,因为还有一个条件:信息编号=\'" & val & "\',上面第一张图查询是没有这个条件的,加上条件还有没有记录?
--  作者:李孝春
--  发布时间:2020/4/13 15:25:00
--  回复:(有点蓝)肯定没有符合条件的数据,因为还有一...
信息编号  val  是有值输出的  所以问题就怪了

图片点击可在新窗口打开查看此主题相关图片如下:11.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/4/13 16:21:00
--  
信息编号  val  是有值输出,但是没有符合信息编号  =val 这个条件的统计值啊
--  作者:李孝春
--  发布时间:2020/4/13 16:47:00
--  回复:(有点蓝)信息编号  val  是有值输出...
不应该啊  只有成功数没有统计数据  好纠结
其它告知总数  失败数都有统计数据
是不是val这个数据集合没有写对

--  作者:有点蓝
--  发布时间:2020/4/13 17:03:00
--  
下面sql拿到数据库查询有没有数据?

se
lect * from 告知内容 where 信息编号=\'把val的值填进来\' And 是否告知=\'是\' and 状态码=\'0\'

--  作者:李孝春
--  发布时间:2020/4/13 17:20:00
--  回复:(有点蓝)下面sql拿到数据库查询有没有数据?s...
有数据哦

图片点击可在新窗口打开查看此主题相关图片如下:22.png
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2020/4/13 17:33:00
--  
是不是数据没有加载?

试试
DataTables("告知内容").Compute("Count([_Identify])","信息编号=\'" & val & "\' And 是否告知=\'是\' and 状态码=\'0\'")

或者
DataTables("告知内容").SqlCompute("Count([_Identify])","信息编号=\'" & val & "\' And 是否告知=\'是\' and 状态码=\'0\'")