好的,现在这对我来说通常很容易,但是有一个小障碍正在制造它,所以我无法弄清楚。最好的方法是向您展示我的代码,然后进一步解释我正在尝试做的事情。
PS 这是一个地址簿程序,我只是为了好玩而创建的。
如果您只想跳到那,实际的问题就在底部。
这是与我的Access数据库的连接:
Imports System.Data.OleDb
Module Database_Connection
Public provider As String
Public datafile As String
Public connstring As String
Public myconnection As OleDbConnection = New OleDbConnection
Public dr As OleDbDataReader
Public Sub Access_Database()
provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
datafile = "AddressBook.accdb"
connstring = provider & datafile
myconnection.ConnectionString = connstring
Try
myconnection.Open()
Catch ex As Exception
MessageBox.Show("Error" & vbCrLf & vbCrLf & "Original Error: " & ex.ToString)
Finally
myconnection.Close()
End Try
End Sub
End Module
数据库截图:
表格截图:
现在,在表单加载时,它从数据库(名称)中获取信息并用它们填充列表框
它用名字和姓氏填充它,因为它需要显示它。这是在表单加载时执行此操作的代码:
Private Sub frmMain_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Access_Database()
Try
myconnection.Open()
Dim str As String
str = "SELECT * FROM Contacts"
Dim cmd As OleDbCommand = New OleDbCommand(str, myconnection)
dr = cmd.ExecuteReader
While dr.Read
Nameslst.Items.Add(dr("FullName").ToString)
End While
Nameslst.Sorted = True
Catch ex As Exception
MessageBox.Show("There was an error: " & vbCrLf & vbCrLf & ex.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
myconnection.Close()
End Try
End Sub
这里的实际问题:
现在,我如何设置他们在列表框中实际选择的内容来选择数据库中的数据?我会使用 Select Case 语句,但具体而言,列表框可以不定式填充,并且必须为添加的每个人在代码中输入一个新案例。
我不知道该怎么做,请帮忙!提前感谢所有回复。