显示从 SQL 到 vb.net 文本框的数据

Displaying Data from SQL to vb.net textbox

我正在尝试从 sql 服务器检索数据到 vb.net 文本框,但我不知道还能做什么 我拥有的所有教程都只是从数据库检索记录到数据网格视图..请帮助..

Private Sub txtrfid_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtrfid.KeyPress
    cn.Open()

    With cmd
        .Connection = cn
        .CommandText = "SELECT * FROM Students WHERE RFID like '%" & txtrfid.Text & "%'"
    End With
    MsgBox("Record Found!", MsgBoxStyle.Information, "Update")

    da.SelectCommand = cmd
    dt.Clear()
    da.Fill(dt)
    cn.Close()


    txtname.Text = 'Firstname'

您正在使用数据库中的数据填充 DataTable,因此您必须将 DataTable 中的数据导入 TextBox。您可以使用数据绑定来做到这一点,您可能已经看到它是如何使用网格完成的,例如

txtname.DataBindings.Add("Text", dt, "Firstname")

如果您要检索您希望能够导航的多条记录,您肯定会这样做,尽管您可能会在两者之间使用 BindingSource。如果只有一条记录,那么您可以改为手动移动数据,例如

txtname.Text = CStr(dt.Rows(0)("Firstname"))

检索数据的方法有很多种。您可以使用 sql 数据 reader 简单地将数据从 sql 数据库检索到文本框,这是我最喜欢的数据之一。让我分享给你。 注意:不要忘记导入 system.data.sqlclient

Private Sub txtrfid_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtrfid.KeyPress
        strConn = "Data Source=" & servernamehere & ";Initial Catalog=" & databasenamehere & ";User ID=" & userid & ";Password=" & password
        sqlConn = New SqlConnection(strConn)
        sqlConn.Open()
        Dim sqlcmd As New SqlCommand("Your query here", sqlConn)
        Dim myreader As SqlDataReader
        myreader = sqlcmd.ExecuteReader()
        myreader.Read()
        If myreader.HasRows Then
            txtrfid.Text = myreader.Item("column name from sql database table").Tostring
        End If
        sqlConn.Close()
End Sub

您可以使用 Try-Catch 技术捕获异常。

如果您只想显示 Table 中的单个值 (FirstName),请参阅以下代码

Using conn As New SqlConnection("connstr")
      conn.Open()
      Dim cmd As New SqlCommand("", conn)
      Dim txtName As String
      cmd.CommandText = "SELECT firstname FROM Students WHERE RFID ='" & txtrfid.Text & "'"
      txtName = IIf(IsDBNull(cmd.ExecuteScalar), "", cmd.ExecuteScalar)
      If txtName <> "" Then
         MsgBox("Record Found!", MsgBoxStyle.Information, "Update")
         Textbox1.Text = ""
         Textbox1.Text = txtName
      else
         MsgBox("No Record Found!", MsgBoxStyle.Information, "INFO.")
      End If
 End Using