ERRO INSERT MYSQL
                    Pessoal,
Estou migrando do access para o MySQL e me deparei com o seguinte erro ao tentar fazer um insert [Ô]A cadeia de caracteres de entrada não estava em um formato incorreto.[Ô]
Segue o código:
            Estou migrando do access para o MySQL e me deparei com o seguinte erro ao tentar fazer um insert [Ô]A cadeia de caracteres de entrada não estava em um formato incorreto.[Ô]
Segue o código:
    Using con As MySqlConnection = ConexaoComMysql()
            Dim comando As MySqlCommand
            Dim queryResult As Integer
            con.Open()
            comando = New MySqlCommand([Ô]SELECT COUNT(*) FROM  Tabela WHERE Campo1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
            queryResult = comando.ExecuteScalar()
            If queryResult = 0 Then
                comando = New MySqlCommand([Ô]INSERT INTO Tabela ([Campo1], [Campo2], [Campo3]) VALUES (@Campo1, @Campo2, @Campo3)[Ô], con)
                comando.Parameters.AddWithValue([Ô]@Campo1[Ô], MySqlDbType.VarChar).Value = TextBox1.Text
                comando.Parameters.AddWithValue([Ô]@Campo2[Ô], MySqlDbType.VarChar).Value = TextBox2.Text
                comando.Parameters.AddWithValue([Ô]@Campo3[Ô], MySqlDbType.VarChar).Value = System.DateTime.Now
                comando.ExecuteNonQuery()
                MsgBox([Ô]sucesso[Ô])
            Else
                MsgBox([Ô]erro[Ô])
            End If
        End Using 
                    Nao sei se seria isso, mas nos campos eu passo o nome da coluna, as colunas sao todas varchar mesmo? A coluna de data nao esta em date no bd?
                
            
                    Caro NICKOSOFT,
Melhorei o código para melhor entendermos, deixei todos os campos do banco como [Ô]varchar(253)[Ô] e o erro persiste.
            Melhorei o código para melhor entendermos, deixei todos os campos do banco como [Ô]varchar(253)[Ô] e o erro persiste.
          Using con As MySqlConnection = ConexaoComMysql()
            Dim comando As MySqlCommand
            Dim queryResult As Integer
            con.Open()
            comando = New MySqlCommand([Ô]SELECT COUNT(*) FROM  Tabela WHERE Coluna1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
            queryResult = comando.ExecuteScalar()
            If queryResult = 0 Then
                comando = New MySqlCommand([Ô]INSERT INTO Tabela ([Coluna1], [Coluna2], [Coluna3]) VALUES (@Coluna1, @Coluna2, @Coluna3)[Ô], con)
                comando.Parameters.AddWithValue([Ô]@Coluna1[Ô], MySqlDbType.VarChar).Value = TextBox1.Text
                comando.Parameters.AddWithValue([Ô]@Coluna2[Ô], MySqlDbType.VarChar).Value = TextBox2.Text
                comando.Parameters.AddWithValue([Ô]@Coluna3[Ô], MySqlDbType.VarChar).Value = TextBox3.Text
                comando.ExecuteNonQuery()
                MsgBox([Ô]Sucesso[Ô])
            Else
                MsgBox([Ô]Já existe um registo[Ô])
            End If
        End Using 
                    Mude para,
Using con As MySqlConnection = ConexaoComMysql()
Dim comando As MySqlCommand
Dim queryResult As Integer
con.Open()
comando = New MySqlCommand([Ô]SELECT COUNT(*) FROM Tabela WHERE Coluna1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
queryResult = comando.ExecuteScalar()
If queryResult = 0 Then
comando = New MySqlCommand([Ô]INSERT INTO Tabela (Coluna1, Coluna2, Coluna3) VALUES (@Coluna1, @Coluna2, @Coluna3)[Ô], con)
comando.Parameters.Add([Ô]@Coluna1[Ô], MySqlDbType.VarChar).Value = TextBox1.Text
comando.Parameters.Add([Ô]@Coluna2[Ô], MySqlDbType.VarChar).Value = TextBox2.Text
comando.Parameters.Add([Ô]@Coluna3[Ô], MySqlDbType.VarChar).Value = TextBox3.Text
comando.ExecuteNonQuery()
MsgBox([Ô]Sucesso[Ô])
Else
MsgBox([Ô]Já existe um registo[Ô])
End If
End Using
O que está de vermelho,não é uma forma adequada para procura registro e comparar.Dor de cabeça.
([Ô]SELECT [txt-color=#e80000]COUNT(*)[/txt-color] FROM Tabela WHERE Coluna1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
                
            Using con As MySqlConnection = ConexaoComMysql()
Dim comando As MySqlCommand
Dim queryResult As Integer
con.Open()
comando = New MySqlCommand([Ô]SELECT COUNT(*) FROM Tabela WHERE Coluna1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
queryResult = comando.ExecuteScalar()
If queryResult = 0 Then
comando = New MySqlCommand([Ô]INSERT INTO Tabela (Coluna1, Coluna2, Coluna3) VALUES (@Coluna1, @Coluna2, @Coluna3)[Ô], con)
comando.Parameters.Add([Ô]@Coluna1[Ô], MySqlDbType.VarChar).Value = TextBox1.Text
comando.Parameters.Add([Ô]@Coluna2[Ô], MySqlDbType.VarChar).Value = TextBox2.Text
comando.Parameters.Add([Ô]@Coluna3[Ô], MySqlDbType.VarChar).Value = TextBox3.Text
comando.ExecuteNonQuery()
MsgBox([Ô]Sucesso[Ô])
Else
MsgBox([Ô]Já existe um registo[Ô])
End If
End Using
O que está de vermelho,não é uma forma adequada para procura registro e comparar.Dor de cabeça.
([Ô]SELECT [txt-color=#e80000]COUNT(*)[/txt-color] FROM Tabela WHERE Coluna1 =[ô][Ô] & Me.TextBox1.Text & [Ô][ô][Ô], con)
                    Valeu OMAR2011, 
Agradeço a ajuda, e aproveitando seus conhecimentos, qual seria uma melhor forma de comparar nesta situação?
            Agradeço a ajuda, e aproveitando seus conhecimentos, qual seria uma melhor forma de comparar nesta situação?
                    Qual o Erro que apresenta no sistema?
Esse método somente passa os seguintes paramentros (<string parameterName>, <object value>), não tem Type
comando.Parameters.AddWithValue
Mas tente retirar os colchetes no nome das colunas no INSERT pra ver se resolve e passe um tamanho para o campo.
Exempo se os campos estão varchar(253) então diga para o parametro que os campo tem esse tamanho.
Use o comando.Parameters.Add
comando = New MySqlCommand([Ô]INSERT INTO Tabela (Coluna1, Coluna2, Coluna3) VALUES (@Coluna1, @Coluna2, @Coluna3)[Ô], con)
comando.Parameters.Add([Ô]@Coluna1[Ô], MySqlDbType.VarChar, 253).Value = TextBox1.Text
comando.Parameters.Add([Ô]@Coluna2[Ô], MySqlDbType.VarChar, 253).Value = TextBox2.Text
comando.Parameters.Add([Ô]@Coluna3[Ô], MySqlDbType.VarChar, 253).Value = TextBox3.Text
Espero ter ajudado
            Esse método somente passa os seguintes paramentros (<string parameterName>, <object value>), não tem Type
comando.Parameters.AddWithValue
Mas tente retirar os colchetes no nome das colunas no INSERT pra ver se resolve e passe um tamanho para o campo.
Exempo se os campos estão varchar(253) então diga para o parametro que os campo tem esse tamanho.
Use o comando.Parameters.Add
comando = New MySqlCommand([Ô]INSERT INTO Tabela (Coluna1, Coluna2, Coluna3) VALUES (@Coluna1, @Coluna2, @Coluna3)[Ô], con)
comando.Parameters.Add([Ô]@Coluna1[Ô], MySqlDbType.VarChar, 253).Value = TextBox1.Text
comando.Parameters.Add([Ô]@Coluna2[Ô], MySqlDbType.VarChar, 253).Value = TextBox2.Text
comando.Parameters.Add([Ô]@Coluna3[Ô], MySqlDbType.VarChar, 253).Value = TextBox3.Text
Espero ter ajudado
                    Um exemplo simples com uma Tabela de Clientes.
Quando for registrar e para consultar, de preferência usa CPF.Isto porque,não existe duas pessoas com o mesmo CPF,RG mas existe homônimo.
Procure sempre uma forma de só existir um registro com a mesma identificação.
é mais o u menos assim.
Conseguiu seu objetivo, pode fechar o post.
Valeu.
                
            Quando for registrar e para consultar, de preferência usa CPF.Isto porque,não existe duas pessoas com o mesmo CPF,RG mas existe homônimo.
Procure sempre uma forma de só existir um registro com a mesma identificação.
é mais o u menos assim.
Conseguiu seu objetivo, pode fechar o post.
Valeu.
                    Valeu FILMAN,  a solução do Omar funcionou,  de  qualquer forma obrigado a todos!  
                
            
                        Tópico encerrado , respostas não são mais permitidas
                    
                


