Как получить значение из таблицы Microsoft SQL Server 2008 в форму Windows TextBox:

Я делаю проект в VB.NET. У меня есть форма, в которой есть 3 текстовых поля и командная кнопка.

Когда я ввожу значение в TextBox1 (который является регистрационным номером пациента) и нажимает на кнопку Command (SearchButton), он должен искать значение из моей таблицы SQL Server и давать результаты в TextBox2 и TextBox3 (который является именем и Возраст пациента).

Это то, что я сделал, но он не работает.

Dim cn As New SqlConnection
 cn.ConnectionString = "Data source=localhost\SQLEXPRESS;Initial Catalog=hms;Integrated Security=True"
 cn.Open()
 Dim cm As New SqlCommand
 cm.CommandText = "SELECT Patient_Name,Age FROM Patient_Prescrib"
 cm.Connection = cn
 Dim dr As SqlDataReader
 dr = cm.ExecuteReader

 If dr.HasRows Then

 dr.Read()
 ' TextBox1.Text = dr.Item("Reg_No")
 TextBox3.Text = dr.Item("Patient_Name")
 TextBox4.Text = dr.Item("Age")
 dr.Close()

 End If
 cn.Close()
1 ответ

@SoftwareCarpenter, @D_Bester, @rheitzman Спасибо. Это то, что я сделал и понял. :)

Private Sub DetailsButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DetailsButton.Click
 Try
 Dim con As SqlConnection = New SqlConnection
 con.ConnectionString = "Data source=localhost\SQLEXPRESS;Initial Catalog=hms;Integrated Security=True"
 con.Open()
 Dim dt As New DataTable
 Dim ds As New DataSet
 ds.Tables.Add(dt)
 Dim da As New SqlDataAdapter
 da = New SqlDataAdapter("SELECT * from Patient_Prescrib WHERE Reg_No LIKE '%" & TextBox1.Text & "%'", con)
 da.Fill(dt)
 For Each DataRow In dt.Rows
 If TextBox1.Text = dt.Rows(0)("Reg_No").ToString Then

 TextBox2.Text = dt.Rows(0)("Patient_Name").ToString
 TextBox3.Text = dt.Rows(0)("Patient_Con").ToString

 MessageBox.Show("Patient details added!")
 Return
 End If
 Next
 con.Open()
 Return
 con.Close()
 Catch ex As Exception
 MessageBox.Show(" a run time error has occured. Please make sure you have provided the reg no for search")

 End Try

End Sub

licensed under cc by-sa 3.0 with attribution.