下面是引用 傻妞佩 于 2010-08-09 17:52 发表的 vb sql资料库 取乱数:
在radiobuttonn上点选25题
用vb程式 在sql资料库取25笔不同的题目 且不重复
取到的题目会放置在file_num
那请问要如何写程式
用rnd()来写
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
cnn.Open()
cmd = New SqlCommand("select * from dbo.subject_temp where sub_lable in", cnn)
Form2.Show()
Dim dr As SqlDataReader = cmd.ExecuteReader()
dr.Read()
cnn.Close()
Randomize()
If RadioButton1.Checked = True Then
Do
file_num = Int(Rnd() * file_num + 1)
cmd = New SqlCommand("SELECT count(*) FROM dbo.subject_temp where sub_num='" & file_num & "'", cnn))
Dim kr As SqlDataReader = cmd.ExecuteReader()
file_num = kr.Read()
i = i + 1
Loop While i < 26
End If
[ 此文章被傻妞佩在2010-08-09 23:19重新编辑 ].......
是老师不让你用sql 语法 newid()
直接捞取乱数资料吗?
觉得你的资料
并没有大到影响语法捞资料的效率呀!
如果一定要用程式做苦工
我会用阵列方式
-----------------------------------------
1.得知题数并宣告阵列
2.进 loop 随机取乱数并比对阵列值
3.不重覆数值填入阵列直到填满阵列
4.上、下一笔的Button
tag储存上、下阵列值
5.select 语法带出第一笔题目(
tag)
在每按一次Button就依
tag select
并重新记录上、下一笔的Button tag