[.net] datagridview를 통해 값 검색


Answers

Question

텍스트 상자에 텍스트를 입력 한 다음 SQL을 사용하여 데이터베이스를 쿼리하고 결과를 datagridview에 표시하여 데이터베이스의 특정 값을 검색하려고합니다.

코드는 다음과 같습니다.

  Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
    Connection.Open()
    Dim dataTable As New DataTable
    Dim dataSet As New DataSet
    dataSet.Tables.Add(dataTable)
    Dim dataAdapter As New OleDbDataAdapter
    Dim SQLQuery As String
    SQLQuery = <sql> 
            SELECT * 
                 FROM Students
                 WHERE StudentFirstName = @StudentFirstName
                </sql> .Value

    dataAdapter = New OleDbDataAdapter(SQLQuery, Connection)
    dataAdapter.SelectCommand.Parameters.Add("@StudentFirstName", SqlDbType.Text).Value = txtStudentFirstname.Text
    dataAdapter.Fill(dataTable)
    dgrStudentDatabaseViewer.DataSource = dataTable.DefaultView
    ShowItems()
    Connection.Close()
End Sub

ShowItems ()에 대한 호출은 여기의 코드 인 datagridview를 새로 고칩니다.

 Private Sub ShowItems() ' the following delcleration are used for displaying the contents of the table
    Dim dataAdapter As New OleDbDataAdapter
    Dim DataTable As New DataTable
    Dim DataSet As New DataSet
    Dim SQLQuery As String = <sql>SELECT * FROM Students</sql>
    DataSet.Tables.Add(DataTable)
    dataAdapter = New OleDbDataAdapter(SQLQuery, Connection)
    dataAdapter.Fill(DataTable) ' fills the content from the database into the table in vb net
    dgrStudentDatabaseViewer.DataSource = DataTable.DefaultView
    Connection.Close()
End Sub

순간에, 나는 아무 일도 일어나지 않고 검색하려고 할 때 datagridview의 내용은 항상 그대로 남아 있습니다. 나는 그것이 SQL 질의의 XML 리터럴과 관련이 있을지 모르겠지만 그것을 이해할 수는 없다.

미리 감사드립니다.




Links