database - 如何从Access数据库中随机选择多项选择题

标签 database vb.net visual-studio-2010 ms-access multiple-choice

我有一个包含大约 30 个问题的 Access 数据库。数据库分为3个表;问题,可能的答案和答案。 这些问题有 2 到 5 个可能的答案。 如何从我的数据库中随机选择 10 个问题并将它们添加到我的 vb 表单中?

PS:我是第一次做这个

这是我的代码

昏暗的提供者作为字符串 将数据文件调暗为字符串 将 connString 变暗为字符串 公共(public) myConnection 作为 OleDbConnection = New OleDbConnection 公共(public)博士作为 OleDbDataReader

Private Sub Form1_Load(sender As Object, e As System.EventArgs) 处理 Me.Load
    provider = "Provider=Microsoft.ACE.OLEDB.12.0;数据源 ="
    dataFile = "C:\Users\Phil\Desktop\Questions.accdb"
    connString = 提供者和数据文件
    myConnection.ConnectionString = connString
    myConnection.Open()
    将 str 调暗为字符串
    str = "SELECT Top 10 ID_Question From Questions ORDER BY RND(ID_Question)"
    将 cmd 变暗为 OleDbCommand = New OleDbCommand(str, myConnection)
    dr = cmd.ExecuteReader

  虽然 dr.Read()
        TextBox1.Text = dr("ID_Question").ToString
  结束时
    我的连接.关闭()
    MsgBox("fsafa")
结束子

Textbox没有变化,msgBox没有显示


如果有人感兴趣的话对我有用的解决方案

SELECT Top 10 ID_Question, Question_Name 
FROM tblQuestions 
ORDER BY RND(-(100000*ID_Question)*Time())

最佳答案

我必须假设您的问题有一个自动编号字段,您的可能答案有一个基于该自动编号字段的一对多联接,而您的答案有一个基于该自动编号字段的一对一联接?这将是关联表格的最佳方式。

如果是这样,尝试这样的事情:

SELECT Top 10 Question_ID FROM tblQuestions ORDER BY RND(Question_ID)

这应该会为您提供前 10 个随机选择的 Question_ID(或者您所说的我上面提到的自动编号字段),然后您可以根据该 ID 左连接到问题/可能的答案/答案表。您只需根据上述 SQL 填充表单或子表单即可显示问题。

关于database - 如何从Access数据库中随机选择多项选择题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152745/

相关文章:

html - 调用具有外国名称的文件 vb.net、c# 和 asp

c# - 如何使用c#绘制图表?

c# - 在 SQL Server 上执行分页的最佳方法是什么?

php - SQL错误(1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax

mysql,创建具有默认值的列

c# - 使用 IMEI 号检测 usb 调制解调器端口

visual-studio - 同名配置已存在

database - 在数据库中存储为字符串的订购号

database - 从哪里获得具有相应网页数据集的网页图

visual-studio-2010 - NUnit 2.5.7 需要在 VS2010 下显式调试附加