USAR PARÂMETROS EM SELECT

W8.LISBOA 07/06/2015 10:23:31
#447491
Ola pessoal,

Estou com um problema ao fazer um select em banco Mysql, pois a minha string possui apostrofo, lendo sobre o assunto acredito que usar parâmetros resolveria este problema, alem de ser o método mais seguro, alguém pode me ajudar a usar-los neste código abaixo?



          Dim CIDADE As String = TxtCidade.Text

Using con As MySqlConnection = ConexaoComMysql()
Try
con.Open()
Dim sql As String = [Ô]SELECT CODIBGE FROM Municipios WHERE CIDADE = [ô][Ô] & CIDADE & [Ô][ô][Ô]
Dim cmd As MySqlCommand = New MySqlCommand(sql, con)
Dim leitor As MySqlDataReader
leitor = cmd.ExecuteReader()
TxtCodMunicipio.Clear()
Do While leitor.Read
TxtCodMunicipio.Text = (leitor([Ô]CODIBGE[Ô]))
Loop
con.Close()
leitor.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using
FILMAN 07/06/2015 11:58:21
#447493
Resposta escolhida
Esse tópico aqui pode lhe ajudar! O banco utilizado é MySQL, adapte no seu código!

No SELECT use assim
Using con As MySqlConnection = ConexaoComMysql()
Try
con.Open()
Dim sql As String = [Ô]SELECT CODIBGE FROM Municipios WHERE CIDADE = @CIDADE[Ô]
Dim cmd As MySqlCommand = New MySqlCommand(sql, con)
cmd.Parameters.Add([Ô]@CIDADE[Ô], MySqlDbType.VarChar).Value = TxtCidade.Text

Dim leitor As MySqlDataReader
leitor = cmd.ExecuteReader()

TxtCodMunicipio.Clear()
Do While leitor.Read
TxtCodMunicipio.Text = leitor([Ô]CODIBGE[Ô])
Loop

con.Close()
leitor.Close()

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Using


A estrutura está no link abaixo


http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=447403&pagina=1
Tópico encerrado , respostas não são mais permitidas