下面是引用 傻妞佩 於 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