gpt4 book ai didi

VB.NET - 无法使用 SELECT 查询检索表上的第一个 ID

转载 作者:行者123 更新时间:2023-12-02 05:49:32 24 4
gpt4 key购买 nike

大家好!三年没有使用 VB.NET 后,我决定在不需要 Web 开发的项目中再次使用 VB.NET。

这是我的代码(引用:link)

    cmdOLEDB.CommandText = "SELECT Price FROM tblPrice"

cmdOLEDB.Connection = cnnOLEDB

Dim rdrOLEDB As OleDbDataReader = cmdOLEDB.ExecuteReader
Dim priceList(18) As String
Dim i As Integer = 0

If rdrOLEDB.Read = True Then
While rdrOLEDB.Read()
priceList(i) = rdrOLEDB.GetValue(0)
i += 1
End While

txtPrice1.Text = priceList(0).ToString

cnnOLEDB.Close()
Else
MsgBox("Record not found.")
cnnOLEDB.Close()
End If

当我将此代码放入 MsgBox 时

MsgBox(rdrOLEDB.GetValue(0))

结果是“2”,但在此之前我还有 1 个数据。这意味着查询检索的是 ID # 2,而不是 ID # 1。这是我的 Access 数据库的屏幕截图

enter image description here

当我使用此代码时:

txtPrice1.Text = priceList(17).ToString

结果是 35。

enter image description here

最佳答案

您将跳过第一条记录,因为您调用了两次 Read 方法。
第一个调用读取第一条记录并返回 true,然后您进入 while 循环提取信息,但此时您位于第二条记录。

如果您想检查是否有行,请调用 HasRows

If rdrOLEDB.HasRows Then
While rdrOLEDB.Read()
priceList(i) = rdrOLEDB.GetValue(0)
i += 1
End While

txtPrice1.Text = priceList(0).ToString

cnnOLEDB.Close()
Else
MsgBox("Record not found.")
cnnOLEDB.Close()
End If

关于VB.NET - 无法使用 SELECT 查询检索表上的第一个 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42648448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com