none
Por que a atualização do banco de dados usando SQL command não está acontecendo ? RRS feed

  • Pergunta

  • Bom dia pessoal,

    é minha primeira participação por aqui e na verdade é minha primeira participação ativa em um forúm. Estou desenvolvendo meu projeto final na faculdade e como não sou experiente na linguagem e tenho encontrado algumas dificuldades. Apesar das pesquisas, não consegui resolver essa.

    Estou querendo incluir um registro na tabela do meu banco usando o SQLCommand e apesar de ele estar informando que o registro foi incluído, não esotu conseguindo visualizar o mesmo. obs.: Já dei um refresh no banco de dados e nada. Segue o código:

    Public Class frm_cadastrar_funcionario
    
    
    
     Private Sub btn_salvar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_salvar.Click
    
      Dim conn As New SqlConnection
    
      Dim comando As New SqlCommand
    
      Dim reg As Integer
    
    
    
      conn.ConnectionString = My.Settings.CTVetConnectionString
    
    
    
      If Not txt_senha.Text.Equals(txt_confirma_senha.Text) Then
    
       MessageBox.Show("A senha não confere.")
    
       txt_senha.Focus()
    
       Exit Sub
    
      End If
    
      Try
    
       conn.Open()
    
       comando.Connection = conn
    
       comando.CommandText = "INSERT INTO tb_funcionario(nome,cep,bairro,endereco,complemento,tel_residencial,tel_celular,cargo,crmv,usuario,senha,perfil,dt_cadastro) values(@nome,@cep,@bairro,@endereco,@complemento,@tel_residencial,@tel_celular,@cargo,@crmv,@usuario,@senha,@perfil,@dt_cadastro)"
    
       comando.Parameters.Add("@nome", txt_nome.Text)
    
       comando.Parameters.AddWithValue("@cep", msk_txt_cep.Text)
    
       comando.Parameters.AddWithValue("@bairro", txt_bairro.Text)
    
       comando.Parameters.AddWithValue("@endereco", txt_endereco.Text)
    
       comando.Parameters.AddWithValue("@complemento", txt_complemento.Text)
    
       comando.Parameters.AddWithValue("@tel_residencial", msk_txt_residencial.Text)
    
       comando.Parameters.AddWithValue("@tel_celular", msk_txt_celular.Text)
    
       comando.Parameters.AddWithValue("@cargo", cmb_cargo.Text)
    
       comando.Parameters.AddWithValue("@crmv", msk_txt_crmv.Text)
    
       comando.Parameters.AddWithValue("@usuario", txt_usuario.Text)
    
       comando.Parameters.AddWithValue("@senha", txt_senha.Text)
    
       comando.Parameters.AddWithValue("@perfil", cmb_perfil.Text)
    
       comando.Parameters.AddWithValue("@dt_cadastro", dt_cadastro.Value)
    
    
    
       reg = comando.ExecuteNonQuery
    
    
    
       MessageBox.Show(reg.ToString + "registro de usuário incluído com sucesso.")
    
      Catch ex As Exception
    
       MessageBox.Show("Erro ao efetuar a conexão com a base de dados: " + ex.Message)
    
      Finally
    
       conn.Close()
    
       conn.Dispose()
    
      End Try
    
    
    
     End Sub
    
    
    quarta-feira, 21 de abril de 2010 14:39

Respostas

  • Caro Leonardo,

    obrigado pela ajuda. Mas aconteceu a mesma coisa que antes o registro se dá como incluso e quando eu olho o banco, o registro não está lá. Eu abro o banco através do próprio Visual Studio, através do Server Explorer eu clico na tabela com o botão direito e em seguida eu clico em Show Table Data. É dessa forma que eu devo verificar se o registro foi incluso?

    Att.

    Qual o local do banco q vc está conectando? provavelmente o banco q vc está conectando é o banco q fica na pasta Debug, e é la que está sendo inserido. Já o banco que vc abre no Server Explorer é o banco q vc criou pela aplicação, quando vc roda o projeto, como foi falado esse banco é copiado para a pasta Debug, então vc deve verificar os dados deste banco.

    Quem sabe um dia os DataSets se extinguirão?
    sexta-feira, 23 de abril de 2010 00:56
  • Danimar,

    eu adicionei o mdf que estava na pasta debug e pude ver que todos os dados que inclui estavam realmente lá. Pura falta de experiência minha.

    Agradeço a todos que colaboraram !

    Obrigado !

    sexta-feira, 23 de abril de 2010 20:10
  • Danimar,

    eu adicionei o mdf que estava na pasta debug e pude ver que todos os dados que inclui estavam realmente lá. Pura falta de experiência minha.

    Agradeço a todos que colaboraram !

    Obrigado !

    podes fechar este thread por marcar como respondida. 
    Just Be Humble Malange!
    segunda-feira, 26 de abril de 2010 10:26
    Moderador

Todas as Respostas

  •  

    dim stringconect As String = My.Settings.CTVetConnectionString.ToString

     

    dim conn As SqlConnection = Nothing

     

    dim comando As SqlCommand = Nothing

    Try
                    conn = New SqlConnection(stringconect )
                    conn.Open()

                    With comando
                        .Connection = conn
                        .CommandType = CommandType.Text
                        .CommandText = "INSERT INTO                          tb_funcionario(nome,cep,bairro,endereco,complemento,tel_residencial,tel_celular,cargo,crmv,usuario,senha,perfil,dt_cadastro) values(@nome,@cep,@bairro,@endereco,@complemento,@tel_residencial,@tel_celular,

    @cargo,@crmv,@usuario,@senha,@perfil,@dt_cadastro)"

                       .Parameters.Add("@nome", txt_nome.Text)

                       .Parameters.Add("@cep", msk_txt_cep.Text)

                       .Parameters.Add("@bairro", txt_bairro.Text)

                       .Parameters.Add("@endereco", txt_endereco.Text)

                       .Parameters.Add("@complemento", txt_complemento.Text)

                       .Parameters.Add("@tel_residencial", msk_txt_residencial.Text)

                       .Parameters.Add("@tel_celular", msk_txt_celular.Text)

                       .Parameters.Add("@cargo", cmb_cargo.Text)

                       .Parameters.Add("@crmv", msk_txt_crmv.Text)

                       .Parameters.Add("@usuario", txt_usuario.Text)

                       .Parameters.Add("@senha", txt_senha.Text)

                       .Parameters.Add("@perfil", cmb_perfil.Text)

                       .Parameters.Add("@dt_cadastro", dt_cadastro.Value)

                    End With
                Catch ex As Exception
      
                Finally
       
                End Try

     

    • Editado Leonardo Leite quarta-feira, 21 de abril de 2010 23:34 correção
    quarta-feira, 21 de abril de 2010 23:32
  • O seu código está correto sim.

    Está verificando no banco correto? por q desta forma ai não tem como ele não salvar o registro sem ocorrer um erro.


    Quem sabe um dia os DataSets se extinguirão?
    quinta-feira, 22 de abril de 2010 12:38
  • Vou mudar o teu inser command, fica muito mais facil de ler e visualizar.

     comando.CommandText = "INSERT INTO tb_funcionario values(@nome, @cep, @bairro, @endereco, @complemento, @tel_residencial, @tel_celular, @cargo, @crmv,@usuario,@senha,@perfil,@dt_cadastro)"

    nota que eu criei espaco depois da virgula.


    Just Be Humble Malange!
    quinta-feira, 22 de abril de 2010 13:03
    Moderador
  • Bom dia Rafael.

    Que toda vez que vc complila e executa o programa em modo de teste o banco de dados é copiado para pasta debug.

    Seu banco na pasta princial do seu projeto nunca é modificado.

    Para vc ter certeza de que esta gravando, crie uma pasta e copia o seu banco de dado para esta pasta.

    De aponta sua string de conexao para esta pasta.

    ai os dados cadastrado no banco de dados não serão perdidos.

    t+ 

     


    Nilson Morgenstern
    quinta-feira, 22 de abril de 2010 13:23
  • Caro Leonardo,

    obrigado pela ajuda. Mas aconteceu a mesma coisa que antes o registro se dá como incluso e quando eu olho o banco, o registro não está lá. Eu abro o banco através do próprio Visual Studio, através do Server Explorer eu clico na tabela com o botão direito e em seguida eu clico em Show Table Data. É dessa forma que eu devo verificar se o registro foi incluso?

    Att.

    • Sugerido como Resposta Danimar Ribeiro sexta-feira, 23 de abril de 2010 00:54
    quinta-feira, 22 de abril de 2010 13:27
  • Danimar,

    conversei com um amigo meu que trabalha com VS .net e ele também me falou(por email) que aparentemente não tem nenhum erro no código. Vou ver se me encontro com ele ainda esse fds para ele me ajudar com algumas coisas. Caso descubra aonde estou "dando mole" te aviso.

    Valeu !!!

    quinta-feira, 22 de abril de 2010 13:29
  • Ok Nilson.

    Vou tentar isso agora !

    Obrigado pela ajuda !

    quinta-feira, 22 de abril de 2010 13:31
  • selecione seu banco em Solution explorer e em propriedades marque

    Copy if newer

    quinta-feira, 22 de abril de 2010 13:32
  • Caro Leonardo,

    obrigado pela ajuda. Mas aconteceu a mesma coisa que antes o registro se dá como incluso e quando eu olho o banco, o registro não está lá. Eu abro o banco através do próprio Visual Studio, através do Server Explorer eu clico na tabela com o botão direito e em seguida eu clico em Show Table Data. É dessa forma que eu devo verificar se o registro foi incluso?

    Att.

    Qual o local do banco q vc está conectando? provavelmente o banco q vc está conectando é o banco q fica na pasta Debug, e é la que está sendo inserido. Já o banco que vc abre no Server Explorer é o banco q vc criou pela aplicação, quando vc roda o projeto, como foi falado esse banco é copiado para a pasta Debug, então vc deve verificar os dados deste banco.

    Quem sabe um dia os DataSets se extinguirão?
    sexta-feira, 23 de abril de 2010 00:56
  • Bom dia Rafael

     Para você ter certeza que esta gravando no banco de dados da um select na tabela e mostra os dados em uma DataGridView.

    t+


    Nilson Morgenstern
    sexta-feira, 23 de abril de 2010 12:12
  • Danimar,

    eu adicionei o mdf que estava na pasta debug e pude ver que todos os dados que inclui estavam realmente lá. Pura falta de experiência minha.

    Agradeço a todos que colaboraram !

    Obrigado !

    sexta-feira, 23 de abril de 2010 20:10
  • Danimar,

    eu adicionei o mdf que estava na pasta debug e pude ver que todos os dados que inclui estavam realmente lá. Pura falta de experiência minha.

    Agradeço a todos que colaboraram !

    Obrigado !

    podes fechar este thread por marcar como respondida. 
    Just Be Humble Malange!
    segunda-feira, 26 de abril de 2010 10:26
    Moderador