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

时间:2015-01-17 07:23:19

标签: sql-server vb.net

我试图将数据从sql server检索到vb.net文本框但是我不知道还有什么可以做我所拥有的只是从数据库中检索记录到datagrid视图。请帮忙..

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'

3 个答案:

答案 0 :(得分:1)

如果您只想从表中显示单个值(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

答案 1 :(得分:0)

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

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

如果你要检索想要能够导航的多条记录,那么你肯定是这样做的,尽管你可能在它们之间使用BindingSource。如果只有一条记录,那么您可以手动移动数据,例如

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

答案 2 :(得分:0)

有很多方法可以检索数据。您可以使用sql数据读取器将数据从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 Technique捕获异常。