【发布时间】:2015-01-26 15:03:53
【问题描述】:
我有一个包含大约 30 个问题的 Access 数据库。数据库分为3个表;问题,可能的答案和答案。 这些问题有 2 到 5 个可能的答案。 如何从我的数据库中随机选择 10 个问题并将它们添加到我的 vb 表单中?
PS:这是我第一次这样做
这是我的代码
Dim provider As String
Dim dataFile As String
Dim connString As String
Public myConnection As OleDbConnection = New OleDbConnection
Public dr As OleDbDataReader
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
dataFile = "C:\Users\Phil\Desktop\Questions.accdb"
connString = provider & dataFile
myConnection.ConnectionString = connString
myConnection.Open()
Dim str As String
str = "SELECT Top 10 ID_Question From Questions ORDER BY RND(ID_Question)"
Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
dr = cmd.ExecuteReader
While dr.Read()
TextBox1.Text = dr("ID_Question").ToString
End While
myConnection.Close()
MsgBox("fsafa")
End Sub
Textbox 没有改变,msgBox 没有显示
如果有人感兴趣,对我有用的解决方案
SELECT Top 10 ID_Question, Question_Name
FROM tblQuestions
ORDER BY RND(-(100000*ID_Question)*Time())
【问题讨论】:
-
Answer不需要存在 - 它只需是正确的 PossibleAnswer 条目上的标志。您可以加载问题 ID,将它们随机播放,然后选择前 N 个问题 -
这可能会有所帮助:stackoverflow.com/questions/9937222/… 但这一切都取决于您的问题所在(获取数据或显示数据)。
-
你需要某种关系;问题的答案/可能的答案来完成这个......所以即使你选择随机问题,你仍然需要有某种关系才能获得其他细节。
-
谢谢,如果您知道我的问题,请告诉我,我已经更新了我的问题
标签: database vb.net visual-studio-2010 ms-access multiple-choice