我的代码搜索数据库中列表视图的所选项目的相同值,例如:" 01"代码搜索" 01"在数据库中,现在01中的数据库相当于一个名称,例如01 = Name,我的问题是; 如果代码找到01,我想获取名称而不是01。
我的代码
Try
Call DatabaseConnection()
MySqlConn.Open()
For Each item As ListViewItem In ListViewAttendance.SelectedItems
Query = "select * from dtr_database.dtr_entries where dtr_entry_number= '" & item.SubItems(0).Text & "'"
Command = New MySqlCommand(Query, MySqlConn)
Reader = Command.ExecuteReader
Dim Count As Integer
Count = 0
While Reader.Read
Count = Count + 1
End While
If Count = 1 Then
'if 01 is found Get Name of 01. How to do this?
MessageBox.Show("Record Found")
ElseIf Count > 1 Then
MessageBox.Show("Multiple Records Found")
Else
MessageBox.Show("Record Found2")
End If
Next
MySqlConn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
答案 0 :(得分:1)
虽然您的代码存在许多问题,但直接回答您的问题是,您应该在Reader.GetString(ColumnNumber)
循环内调用While
以获取Name
列的值。
但是,您可以改进一些事项:
SELECT *
。无论您是否在当前场景中需要它们,都会引入表格的所有列。此外,您不确定列的顺序。而是在查询中指定所需的列名称。SqlCommand
,请尝试使用ExecuteScalar()
,如果您只需要获取单个列(在您的情况下为“名称”列)。这将使您免于必须运行Read()
循环。