vb.net - 搜索 MS Access 并在 VB.Net 文本框中显示
问题描述
请协助。我想从 MS Access 表中搜索 ID 号。如果该 ID 号存在,我必须显示具有 的人的名字、姓氏、性别和出生日期ID = TextBox.Text
,如下所示:
Patient_FirstName - txbFirstName
Patient_Surname - txbSurname
Patient_Sex - txbGender
Patient_DOB -txbDOB
这些数据都包含在一个名为 的表中Patient
。
我的代码如下:
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
dbProvider = "PROVIDER= Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source = C:\Users\Siyabonga Kubeka\Documents\Academic Folder\Richfield Graduate Institute Of Technology\BSC GUIDES\BSC GUIDES\Semester 2\Programming 512 Tasks\HealthServiceSystem.accdb"
conn.ConnectionString = dbProvider & dbSource
conn.Open()
Dim dt As New DataTable
Dim ds As New DataSet
ds.Tables.Add(dt)
Dim da As New OleDbDataAdapter
da = New OleDbDataAdapter("Select * from Patient where ID like '%" & txbIdNumber.Text & "%'", conn)
da.Fill(dt)
txbFirstName.DataBindings.Add("Text", dt, "Patient.Patient_First_Name")
txbSurname.DataBindings.Add("Text", dt, "Patient.Patient_Surname")
txbDOB.DataBindings.Add("Text", dt, "Patient.Patient_DOB")
txbGender.DataBindings.Add("Text", dt, "Patient.Patient_Sex")
End Sub
我收到此错误,但我无法弄清楚原因:
System.Data.OleDb.OleDbException:“没有为一个或多个必需参数提供值。”
解决方案
我确实是对的,请参见下面的代码:
Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
dbProvider = "PROVIDER= Microsoft.ACE.OLEDB.12.0;"
dbSource = "Data Source = C:\Users\Siyabonga Kubeka\Documents\Academic Folder\Richfield Graduate Institute Of Technology\BSC GUIDES\BSC GUIDES\Semester 2\Programming 512 Tasks\HealthServiceSystem.accdb"
Dim strSql As String = "Select * from Patient where Patient_ID=@PatientID"
conn.ConnectionString = dbProvider & dbSource
conn.Open()
Using cmd As New OleDbCommand(strSql, conn)
cmd.Parameters.AddWithValue("@PatientID", txbIdNumber.Text)
Dim reader As OleDbDataReader = cmd.ExecuteReader()
While reader.Read()
txbFirstName.Text += reader("Patient_First_Name").ToString()
txbSurname.Text += reader("Patient_Surname").ToString()
txbDOB.Text += reader("Patient_DOB").ToString()
txbGender.Text += reader("Patient_Sex").ToString()
End While
End Using
End Sub
推荐阅读
- python - 如何在 python 中创建一个不会创建重复数字的随机数生成器
- php - MethodNotAllowedException Laravel API
- php - 我可以在同一函数中获取之前上传的文件的表 ID 吗?
- idris - 完整证明如果最后一个列表元素不在列表中,则前置不会如此
- c++ - 联合初始化中的结构
- linux - docker 覆盖网络是否支持从主机到容器的通信?
- java - 空 @AuthenticationPrincipal 用户
- sublimetext3 - 将内部文件识别为 JSON
- c# - String.Join overload not recognized
- javascript - 我希望每次滑动 1 秒后触摸启动处于非活动状态,并且触摸启动 1 秒后处于活动状态