Foxtable(狐表)用户栏目专家坐堂 → length得到的值 怎么计算总数呢?


  共有2967人关注过本帖树形打印复制链接

主题:length得到的值 怎么计算总数呢?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
length得到的值 怎么计算总数呢?  发帖心情 Post By:2022/1/27 21:10:00 [只看该作者]

Dim i As Integer
Dim br1 As List(Of DataRow)
br1 =DataTables("告知内容").Select("uuid='3320e743-f78f-4cc9-af16-88890f2a0e21'")
For Each br As DataRow In br1
    Dim tel As String = br("手机号码")
    Dim tels() As String = tel.split(",")
    i =tels.length
    output.show(i)
Next

 

 

当前输出结果为

1

1

1

有没有办法直接输出结果得到3  即1+1+1=3


 回到顶部
帅哥哟,离线,有人找我吗?
chen37280600
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1266 积分:7849 威望:0 精华:4 注册:2017/12/31 14:53:00
  发帖心情 Post By:2022/1/27 21:23:00 [只看该作者]

Dim i As Integer
Dim br1 As List(Of DataRow)
br1 =DataTables("告知内容").Select("uuid='3320e743-f78f-4cc9-af16-88890f2a0e21'")
For Each br As DataRow In br1
    Dim tel As String = br("手机号码")
    Dim tels() As String = tel.split(",")
    i +=tels.length    
Next

output.show(i)


 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/27 21:27:00 [只看该作者]

output.show(DataTables("告知内容").GetComboListString("手机号码","uuid='3320e743-f78f-4cc9-af16-88890f2a0e21'").replace("|",",").split(",").length)

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)output.show(DataTables("告知内容")...  发帖心情 Post By:2022/1/27 22:30:00 [只看该作者]

DataTables("告知内容").sqlGetComboListString("手机号码","uuid='uuid'and 是否告知='是'").replace("|",",").split(",").length)
DataTables("告知内容").sqlGetComboListString("手机号码","uuid='uuid'and 是否告知='否'").replace("|",",").split(",").length)

 

老师  这两个得到的数据是一样   有没有办法做限制  因为是否告知只能等于一个是 或 否

当等于是的时候 就是成功数     失败数就是0

当等于否的时候 就是失败数     成功数就是0

 

 

Dim uuid As String =args(0)
Dim cmd As new SQ LC ommand
cmd.Conne ct ionName = _data
cmd.Comman dText = "UPD ATE 信息列表 S ET 告知条数 = ? ,成功数 = ? ,失败数 = ? WHERE uuid = ?"
cmd.Parameters.Add("@告知条数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='uuid'").replace("|",",").split(",").length)
cmd.Parameters.Add("@成功数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='uuid'and 是否告知='是'").replace("|",",").split(",").length)
cmd.Parameters.Add("@失败数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='uuid'and 是否告知='否'").replace("|",",").split(",").length)
cmd.Parameters.Add("@uuid",uuid)
cmd.ExecuteNonQuery

 

 

 

如果参照二楼的写法   又会导致项目重复计算这个数据   老师有没有办法限定重复计算呢?

 

告知内容表中对应的uuid记录   如果是否告知等于是  就是成功数 i1  失败数就为零  反之是否告知等于否时 就是失败数i2  成功数就为零 

 

当前代码如下:

 

Dim uuid As String =args(0)
Dim br1 As List(Of DataRow)
br1 =DataTables("告知内容").Sel ect("uuid='" & uuid & "'")
Dim i As Integer
Dim i1 As Integer
Dim i2 As Integer
For Each br As DataRow In br1
    Dim tel As String = br("手机号码")
    Dim tels() As String = tel.split(",")
    i += tels.Length
    If br("是否告知")="是" Then
        i1 += tels.Length
        i2=0
    Else  If br("是否告知")="否" Then
        i1 = 0
        i2 += tels.Length
    End If
Next
output.show(i)
output.show(i1)
output.show(i2)

Dim cmd As new S QLC ommand
cmd.Connec tion Name = _data
cmd.Comm andText = "UPD ATE 信息列表 SET 告知条数 = ? ,成功数 = ? ,失败数 = ? WHERE uuid = ?"
cmd.Parameters.Add("@告知条数",i)
cmd.Parameters.Add("@成功数",i1)
cmd.Parameters.Add("@失败数",i2)
cmd.Parameters.Add("@uuid",uuid)
cmd.ExecuteNonQuery

[此贴子已经被作者于2022/1/27 22:39:36编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/27 22:39:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)先看3遍:http://www.foxtable.com/w...  发帖心情 Post By:2022/1/27 22:46:00 [只看该作者]

Dim uuid As String =args(0)
Dim cmd As new SQL Co mmand
cmd.Conne ctio nName = _data
cmd.CommandText = "UP DATE 信息列表 S ET 告知条数 = ? ,成功数 = ? ,失败数 = ? WHERE uuid = ?"
cmd.Parameters.Add("@告知条数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='" & uuid & "'").replace("|",",").split(",").length)
cmd.Parameters.Add("@成功数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='" & uuid & "'and 是否告知='是'").replace("|",",").split(",").length)
cmd.Parameters.Add("@失败数",DataTables("告知内容").sqlGetComboListString("手机号码","uuid='" & uuid & "'and 是否告知='否'").replace("|",",").split(",").length)
cmd.Parameters.Add("@uuid",uuid)
cmd.ExecuteNonQuery

 

修正成这样  还是一样的   告知数是1  成功数和失败数都是1    预期是成功和失败只能有一个是1    因为是否告知只能有一个值  是或否


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107727 积分:547968 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/27 23:06:00 [只看该作者]

dim s as string = DataTables("告知内容").sqlGetComboListString("手机号码","uuid='" & uuid & "'and 是否告知='是'")
if s > "" then 
msgbox(s.replace("|",",").split(",").length)
else
msgbox(0)
end if

 回到顶部