vb.net - 如何读取数据库中的随机实体
问题描述
我只是想知道如何在访问列中显示随机实体。
Imports System.Data.OleDb
Public Class ReviseFlashcards
Dim connection As New OleDb.OleDbConnection(
"provider=microsoft.ACE.OLEDB.12.0;Data Source=flashcard login.accdb")
Dim dt As New DataTable
Dim dataadapter As OleDb.OleDbDataAdapter
'contains the current row number
Dim rownumber As Integer = 0
'Data table to contain all the records
Private Sub ReviseFlashcards_Load(sender As Object, e As EventArgs) _
Handles MyBase.Load
Dim sqlstring As String = "select * from flashcards"
connection.Open()
dataadapter = New OleDb.OleDbDataAdapter(sqlstring, connection)
dt.Clear()
dataadapter.Fill(dt)
txtFront.Text = dt.Rows(0)(2)
txtBack.Text = dt.Rows(0)(3)
connection.Close()
End Sub
Private Sub btnDisplay_Click(sender As Object, e As EventArgs) _
Handles btnDisplay.Click
End Sub
End Class
当前代码显示数据库中的第一行,如下所示。我想知道是否有一种方法可以通过单击正面和背面相互匹配的按钮来显示随机行。 访问数据库
解决方案
在表单中添加一个随机生成器。使 shure 将其声明为 Shared,以便此生成器仅创建一次。这确保它生成唯一的随机数序列(请参阅:为什么这个随机数生成代码不起作用?)。
Private Shared rand As New Random()
然后通过尊重实际行数创建一个行索引:
Dim index = rand.Next(dt.Rows.Count) ' generates index in the range 0 .. Count - 1
txtFront.Text = dt.Rows(index)(2).ToString()
txtBack.Text = dt.Rows(index)(3).ToString()
推荐阅读
- javascript - 我可以使一个变量对视图控制器文件中的每个页面通用吗?
- ruby-on-rails - Rails - 自联接
- node.js - Gcloud计算api createVM不创建公共IP
- python - 如何使用 murmurhash3 散列整数和字符串输入
- javascript - 如何在fabric.js画布上禁用多选?
- java - 使用javac编译Java文件无法引用同一目录下的其他文件
- ios - 设备未收到 Firebase iOS 通知
- python - 如何使用python代码获取python项目的git commit hash?
- adb - 使用带有 M1 CPU 的 Mac 更新 Google Glass 固件时出错:快速启动:无法获取启动分区大小
- python - 使用 pandas 重塑交易订单的数据集