Foxtable(狐表)用户栏目专家坐堂 → [求助]从匹配信息中随机返回一个值,如何处理?


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

主题:[求助]从匹配信息中随机返回一个值,如何处理?

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


加好友 发短信
等级:一尾狐 帖子:436 积分:5082 威望:0 精华:0 注册:2012/3/27 15:33:00
[求助]从匹配信息中随机返回一个值,如何处理?  发帖心情 Post By:2013/12/8 22:05:00 [只看该作者]

Dim 真实品名 As String = Args(0)
Dim dr As DataRow
dr = DataTables("品名对照表").Find("实际品名名称 = '"& 真实品名 &"'")
If dr IsNot Nothing Then '如果找到的话
    'Dim Filter As String = "实际品名名称 = '" & 真实品名 & "'"
    'Dim 个数 As Integer = DataTables("品名对照表").Compute("Count(_Identify)",Filter)
    '这一步想返回一个随机的申报品名名称
    Return dr("申报品名名称")
Else
    Return 真实品名
End If

 

以上是一个函数,一个真实品名对照多个申报品名,

想从对应的申报品名中随机找到一个,然后返回一个值。

请教一下,注释这几句如何写呢?

[此贴子已经被作者于2013-12-8 22:05:35编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/12/8 22:40:00 [只看该作者]

Dim 真实品名 As String = Args(0)
Dim dr As DataRow
Dim Filter As String = "实际品名名称 = '" & 真实品名 & "'"
Dim 个数 As Integer = DataTables("品名对照表").Compute("Count(_Identify)",Filter)
If 个数 > 0 Then '如果找到的话
    Dim rand As Integer = Rand.Next(1, 个数)
    dr = DataTables("品名对照表").Find(filter, "_Identify", rand - 1)
    Return dr("申报品名名称")
Else
    Return 真实品名
End If

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2013/12/9 0:28:00 [只看该作者]

Dim drs As List(Of DataRow)
drs = DataTables("品名对照表").Select("实际品名名称 = '" & Args(0) & "'")

if drs.Count > 0

     Return drs(Rand.Next(0,drs.Count-1))

else

    Return Args(0)

end if

 

这样也许效率高一些!


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


加好友 发短信
等级:一尾狐 帖子:436 积分:5082 威望:0 精华:0 注册:2012/3/27 15:33:00
  发帖心情 Post By:2013/12/9 18:46:00 [只看该作者]

谢谢,采用了二楼的方法,

变量RAND改为RANDX,

RAND好像是系统保留字。

谢谢各位!


 回到顶部