0

このコードを使用して、以前にマークされたフィールドに従って情報が調査されるグリッドに表示しようとしています

SQL = "SELECT * FROM funcionario WHERE setor ='" + TxtPesq.Text + "'"
                myCommand.Connection = conn
                myCommand.CommandText = SQL
                myAdapter.SelectCommand = myCommand
                myAdapter.Fill(myData)
                DataGridView1.DataSource = myData
4

1 に答える 1

0
  • usingオブジェクトを適切に処分するにはステートメントを使用してください。
  • SQLインジェクションを避けるためにクエリをパラメータ化しました

完全なコード

Dim dSet As New Dataset
Dim SQL AS String= "SELECT * FROM funcionario WHERE setor = @setor"
Using conn As New MySqlConnection("connectionStr HERE")
    Using myCommand As New MysqlCommand()
        With MyCommand
            .Connection = conn
            .CommandText = SQL
            .CommandType = CommandType.Text
            .Parameters.AddWithValue("@setor", TxtPesq.Text) 
        End With
        Using myAdapter As New MySQLDataAdapter(myCommand)
            Try
                myAdapter.Fill(dset)
                DataGridView1.DataSource = dset.tables(0)
            Catch(ex as MySQLException)
                Msgbox (ex.Messge)
            End Try
        End Using
    ENd Using
ENd Using
于 2012-10-25T04:46:42.253 に答える