ERRO AO INSERIR DADOS
Boa noite,
Estou tendo problemas para inserir dados em um banco MYSQL, o sistema não retorna nenhum erro, o problema é que todos os campos ficam nulos no banco de dados, abaixo segue o meu código:
Fazendo alguns testes eu consigo inserir os dados, mas sem passar os parâmetros, fiz só para testar mesmo, abaixo segue o código:
Fazendo dessa forma ele insere o cod_livro com o valor [Ô]44[Ô].
O que pode estar acontecendo que ele só grava como nulo no banco de dados?
Obrigado
Estou tendo problemas para inserir dados em um banco MYSQL, o sistema não retorna nenhum erro, o problema é que todos os campos ficam nulos no banco de dados, abaixo segue o meu código:
Private Sub cadastra_emprestimo()
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]INSERT INTO cad_emprestimo (cod_livro) VALUES (@codigo_livro)[Ô], GetConexao2)
command.Parameters.AddWithValue([Ô]@codigo_livro[Ô], codigo_livro.Text)
command.ExecuteNonQuery()
command.Dispose()
End Sub
Fazendo alguns testes eu consigo inserir os dados, mas sem passar os parâmetros, fiz só para testar mesmo, abaixo segue o código:
Private Sub cadastra_emprestimo()
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]INSERT INTO cad_emprestimo (cod_livro) VALUES (44)[Ô], GetConexao2)
command.Parameters.AddWithValue([Ô]@codigo_livro[Ô], codigo_livro.Text)
command.ExecuteNonQuery()
command.Dispose()
End Sub
Fazendo dessa forma ele insere o cod_livro com o valor [Ô]44[Ô].
O que pode estar acontecendo que ele só grava como nulo no banco de dados?
Obrigado
@codigo_livro é uma variável?
se for tem q ser assim
VALUES ([Ô] & @codigo_livro & [Ô])[Ô], GetConexao2)
Se não for uma variável, ele sempre vai inserir nulo, já que VALUES indica uma entrada de dados inteiro (numérico = 44) e você está passando string = @codigo_livro.
Se as dicas q passei não te ajudarem, coloque sua rotina aqui
Veja um exemplo meu de UPDATE, talvez possa te ajudar.
se for tem q ser assim
VALUES ([Ô] & @codigo_livro & [Ô])[Ô], GetConexao2)
Se não for uma variável, ele sempre vai inserir nulo, já que VALUES indica uma entrada de dados inteiro (numérico = 44) e você está passando string = @codigo_livro.
Se as dicas q passei não te ajudarem, coloque sua rotina aqui
Veja um exemplo meu de UPDATE, talvez possa te ajudar.
Dim Query As String = [txt-color=#e80000][Ô]update tblcolaboradores set permissao=[ô] [Ô][/txt-color] & Val(PermissaoTextBox.Text) & [txt-color=#e80000][Ô] [ô] where nome=[ô] [Ô][/txt-color] & NomeTextBox.Text & [txt-color=#e80000][Ô] [ô] [Ô][/txt-color]
Dim Conn As New SqlCeConnection([Ô]Data Source=Dados.sdf[Ô])
Dim Comando As New SqlCeCommand(Query, Conn)
Comando.Connection.Open()
Comando.ExecuteNonQuery()
ALTAIR, pelo que vejo está tudo correto.
Será que o controle codigo_livro.Text está retornando algo?
Faça o teste:
Será que o controle codigo_livro.Text está retornando algo?
Faça o teste:
Private Sub cadastra_emprestimo()
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]INSERT INTO cad_emprestimo (cod_livro) VALUES (@codigo_livro)[Ô], GetConexao2)
command.Parameters.AddWithValue([Ô]@codigo_livro[Ô], [Ô]44[Ô]) [ô] Aqui ao invés de passar o valor de codigo_livro.Text passe um valor direto para o teste.
command.ExecuteNonQuery()
command.Dispose()
End Sub
Abaixo segue o meu código
Está muito estranho, no banco ele gera o registro, o campo com auto increment é preenchido normalmente, mas é pq ele é gerado pelo próprio banco, e o campo onde teria que ser inserido o código do livro fica NULL.
Private Sub cadastra_emprestimo()
Dim command As New MySql.Data.MySqlClient.MySqlCommand([Ô]INSERT INTO cad_emprestimo (cod_livro) VALUES (@codigo_livro)[Ô], GetConexao2)
command.Parameters.AddWithValue([Ô]@codigo_livro[Ô], [Ô]44[Ô])
command.ExecuteNonQuery()
command.Dispose()
End Sub
Está muito estranho, no banco ele gera o registro, o campo com auto increment é preenchido normalmente, mas é pq ele é gerado pelo próprio banco, e o campo onde teria que ser inserido o código do livro fica NULL.
Faca um teste, substitua o parâmetro @... que esta na linha do Insert por ? e retorne o resultado.
Tecla, agora sim consegui inserir substituindo o parâmetro [Ô]@[Ô] por [Ô]?[Ô]. Mas saberias me dizer o motivo desse problema? Em outro form nesse mesmo aplicativo tem ocorrido esse problema, eu tento inserir um campo e ele não insere, ai por isso gostaria de saber o motivo, ou vou ter que mudar todo o meu código?
Obrigado.
Obrigado.
Tópico encerrado , respostas não são mais permitidas