以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=158173)

--  作者:魏福庆
--  发布时间:2020/11/10 14:14:00
--  [求助]
老师您好,我按照说明文件想要在数据库里提取数据,但是我还有一个分类列,分类列里有一项“知识”内容,我想要随机提取“知识”分类里面的10条记录,如何实现??
Dim cnt As Integer = DataTables("知识技能").DataRows.Count
Dim nds As Integer = 10 \'要抽取的记录数
Tables("知识技能").StopRedraw()
DataTables("知识技能").ReplaceFor("选择",False)
Do
    Dim idx As Integer = rand.Next(0,cnt)
    Dim dr As DataRow = DataTables("知识技能").DataRows(idx)
    If dr("选择") = False Then
        dr("选择") = True
        nds = nds - 1
    End If
Loop While nds > 0
Tables("知识技能").Filter = "[选择] = True"
Tables("知识技能").ResumeRedraw()

--  作者:有点蓝
--  发布时间:2020/11/10 14:23:00
--  
就是这种用法呀,有什么问题呢?
--  作者:魏福庆
--  发布时间:2020/11/10 14:30:00
--  
图片点击可在新窗口打开查看老师你看一下我发的附件,我只想提取“基础知识”里面的10条数据,相当于在提取的时候做个筛选
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20201110142748.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20201110142729.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/11/10 14:33:46编辑过]

--  作者:有点蓝
--  发布时间:2020/11/10 14:36:00
--  
DataTables("知识技能").ReplaceFor("选择",False)
Dim drs As List(Of DataRow) = DataTables("知识技能").select("分类=\'基础知识\'")
Dim cnt As Integer = drs.Count
Dim nds As Integer = 10 \'要抽取的记录数
Tables("知识技能").StopRedraw()
Do
    Dim idx As Integer = rand.Next(0,cnt)
    Dim dr As DataRow = drs(idx)
    If dr("选择") = False Then
        dr("选择") = True
        nds = nds - 1
    End If
Loop While nds > 0
Tables("知识技能").Filter = "[选择] = True"
Tables("知识技能").ResumeRedraw()

--  作者:魏福庆
--  发布时间:2020/11/10 14:48:00
--  
多谢老师已经实现,对数据结构又有了深一步的了解了,狐表后台老师真的强,祝福狐表越来越好!
[此贴子已经被作者于2020/11/10 14:48:40编辑过]