Usuário com melhor resposta
Por que a atualização do banco de dados usando SQL command não está acontecendo ?

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
- Editado Rafael Raposo de Albuquerque quarta-feira, 21 de abril de 2010 15:13 erro
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.
Quem sabe um dia os DataSets se extinguirão?- Marcado como Resposta Fernanda SimõesModerator segunda-feira, 26 de abril de 2010 14:33
-
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 !
- Marcado como Resposta Fernanda SimõesModerator segunda-feira, 26 de abril de 2010 14:33
-
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 !
Just Be Humble Malange!- Marcado como Resposta Rafael Raposo de Albuquerque segunda-feira, 12 de julho de 2010 01:35
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
-
-
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! -
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 -
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
-
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 !!!
-
-
-
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.
Quem sabe um dia os DataSets se extinguirão?- Marcado como Resposta Fernanda SimõesModerator segunda-feira, 26 de abril de 2010 14:33
-
-
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 !
- Marcado como Resposta Fernanda SimõesModerator segunda-feira, 26 de abril de 2010 14:33
-
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 !
Just Be Humble Malange!- Marcado como Resposta Rafael Raposo de Albuquerque segunda-feira, 12 de julho de 2010 01:35