CORRIGIR CODIGO DELETE MYSQL.....

KURTGU 09/04/2011 22:44:25
#370952
Pessoal tudo blz entao to com uma duvida aqui, criei um modulo.... com o seguinte codigo......para usar em uma funcao de delete.....a minha duvida e tenho que antes do delete colocar um select ou dessa form que estou fazendo esta correta?

pois do jeito que estou fazendo ele nao deleta, mais tambem nao da erro algum..... estou chamando ele em um button deletesala() normalmente.......

Public Sub deletesala()

Dim Conexao As New clsConexao([Ô]meu usuario[Ô], [Ô]minha senha[Ô], [Ô]meu servidor[Ô], [Ô]meu bd[Ô])
[ô]_____________________________________________________________________________________________[ô]
[ô]Verifica Conexao com a Internet
Conexao.VerificarInternet()
[ô]_____________________________________________________________________________________________[ô]
[ô]Tentar se conectar ao banco de dados se nao conseguir exibir a seguinte mensagem
Conexao.Desconectar()
Conexao.Conectar()
Dim myAdapter As New MySqlDataAdapter
Dim myCommand As New MySqlCommand
Dim inDeletado As Integer
myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome= @ID_NOME[Ô], Conexao.GetConexao)
myCommand.Parameters.AddWithValue([Ô]@ID_NOME[Ô], lista1.TextBox1.Text.Trim)
inDeletado = myCommand.ExecuteNonQuery()
myCommand.Connection = Conexao.GetConexao
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
MsgBox([Ô]Sala Retirada da Lista[Ô])
Conexao.Desconectar()
[ô]_____________________________________________________________________________________________________[Ô]
End Sub


[txt-color=#e80000]Desde ja agradeco ajuda do pessoal como sempre que, me ensina e ao pessoal que me da uma forca no msn como o ZEROCAL que sempre me ajuda.......[/txt-color]
TECLA 09/04/2011 22:55:32
#370954
A nível de teste, troque as linhas abaixo...
[txt-color=#e80000] myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome= @ID_NOME[Ô], Conexao.GetConexao)
myCommand.Parameters.AddWithValue([Ô]@ID_NOME[Ô], lista1.TextBox1.Text.Trim)[/txt-color]

...por uma só (altere o NOME_SALA para o nome real da sala, e veja se funciona.
[txt-color=#0000f0] myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=[ô]NOME_SALA[ô][Ô], Conexao.GetConexao)[/txt-color]
KURTGU 09/04/2011 23:01:38
#370959
opa tecla agora funciono com esse ai de baixo mais so uma pergunta coloquei o nome que tava no bd em NOME_SALA como posso colocar pra ele deletar o que ta no textbox1.text
?????

myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=[ô]NOME_SALA[ô][Ô], Conexao.GetConexao)



TECLA 09/04/2011 23:17:46
#370962
Resposta escolhida
Volte o código para as duas linhas, só que a alteração abaixo:

[txt-color=#0000f0]myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=?[Ô], Conexao.GetConexao)
myCommand.Parameters.AddWithValue([Ô]@ID_NOME[Ô], lista1.TextBox1.Text.Trim)[/txt-color]
KURTGU 09/04/2011 23:26:21
#370966
[txt-color=#0000f0]Simplesmente ele nao funciona adicionando este ele nao da erro mais nao deleta......

myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=@ID_NOME[Ô], Conexao.GetConexao)
myCommand.Parameters.AddWithValue([Ô]@ID_NOME[Ô], lista1.TextBox1.Text.Trim) [/txt-color]


[txt-color=#e80000]usando esse que vc passou ele deleta mais somente se eu colocar o NOME_SALA como esta no bd e gostaria deletar o que esta digitado no lista1.TextBox1.Text........nao sei se nao entendi ou se estou errando em algo....

myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=[ô]NOME_SALA[ô][Ô], Conexao.GetConexao) [/txt-color]
KURTGU 09/04/2011 23:48:33
#370967
consegui mudei o @ID_NOME Somente para nome ficou assim o codigo para delete funcionando.....

Conexao.Desconectar()
Conexao.Conectar()
Dim myAdapter As New MySqlDataAdapter
Dim myCommand As New MySqlCommand
Dim inDeletado As Integer
myCommand = New MySqlCommand([Ô]DELETE FROM salas WHERE nome=nome[Ô], Conexao.GetConexao)
myCommand.Parameters.AddWithValue([Ô]nome[Ô], lista1.TextBox1.Text.Trim)
inDeletado = myCommand.ExecuteNonQuery()
myCommand.Connection = Conexao.GetConexao
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
MsgBox([Ô]Sala Retirada da Lista[Ô])
Conexao.Desconectar()

Obrigado pela ajuda e fica ai mais uma dica.....
Tópico encerrado , respostas não são mais permitidas