Usuário com melhor resposta
Problema com um comando UPDATE C# SQL Server

Pergunta
-
Pessoal, não está gerando nenhuma exception, mas também não está alterando nenhum campo da minha tabela, será que alguém pode identificar o problema? Segue o códigodata = DateTime.Now.ToShortDateString();hora = DateTime.Now.ToLongTimeString();SqlConnection sqlConn = new SqlConnection(Properties.Settings.Default.cadastroConnectionString);SqlCommand cmd = new SqlCommand("SELECT * FROM usuarios WHERE login=@usuario and senha=@senha", sqlConn);cmd.Parameters.Add("@usuario", SqlDbType.VarChar).Value = txtUsuario.Text;cmd.Parameters.Add("@senha", SqlDbType.VarChar).Value = txtSenha.Text;//abre a conexão com o bancosqlConn.Open();//alimenta o datareaderSqlDataReader le = null;le = cmd.ExecuteReader();if (le.Read()){//alimenta as variáveis com as informações do usuário logadoid = le[0].ToString();nome = le[1].ToString();nivel = le[4].ToString();email = le[5].ToString();ultimoAcesso = le[6].ToString();le.Close();//inseri o registro do campo último acessoSqlCommand cmd2 = new SqlCommand("UPDATE usuarios SET ultimo_acesso = @ultimo WHERE id_usuario=@id", sqlConn);cmd2.Parameters.Add("@ultimo", SqlDbType.VarChar).Value = data + " " + hora;cmd2.Parameters.Add("@id", SqlDbType.Int).Value = id;cmd2.ExecuteNonQuery();
Bruno Barbosa - Futuro MCPD
Respostas
-
Bruno,
Estranho hein... Já tentou rodar o Profiler do SQL pra ver qual comando está chegando no banco?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08
-
Bruno,
Basicamente você vai iniciar o profiler e executar a sua aplicação... Então o profiler vai listar todos os comandos SQL que foram enviados para a database... Aí você verifica qual query está chegando no banco nesse seu método...
Informações sobre o SQL Server Profiler:
http://msdn.microsoft.com/pt-br/library/cc580638.aspx
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08
-
Fecha a conecao e abrenovamente:
Fecha primeiro e abre depois.
SqlCommand cmd2 = new SqlCommand("UPDATE usuarios SET ultimo_acesso = @ultimo WHERE id_usuario=@id", sqlConn);sqlconn.open();cmd2.Parameters.Add("@ultimo", SqlDbType.VarChar).Value = data + " " + hora;cmd2.Parameters.Add("@id", SqlDbType.Int).Value = id;cmd2.ExecuteNonQuery();e fecha novamente.Eu se fosse voce criaria um dataset ou table, funcao e criava novo metodo gravar baseado nesta funcao dataset ou datatable. Seria a melhor forma de programar do que juntar estes codigo todos dentro, puxar e gravar ao mesmo tempo.
Just Be Humble Malange!- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08
Todas as Respostas
-
Bruno,
Estranho hein... Já tentou rodar o Profiler do SQL pra ver qual comando está chegando no banco?
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08
-
-
Bruno,
Basicamente você vai iniciar o profiler e executar a sua aplicação... Então o profiler vai listar todos os comandos SQL que foram enviados para a database... Aí você verifica qual query está chegando no banco nesse seu método...
Informações sobre o SQL Server Profiler:
http://msdn.microsoft.com/pt-br/library/cc580638.aspx
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08
-
Fecha a conecao e abrenovamente:
Fecha primeiro e abre depois.
SqlCommand cmd2 = new SqlCommand("UPDATE usuarios SET ultimo_acesso = @ultimo WHERE id_usuario=@id", sqlConn);sqlconn.open();cmd2.Parameters.Add("@ultimo", SqlDbType.VarChar).Value = data + " " + hora;cmd2.Parameters.Add("@id", SqlDbType.Int).Value = id;cmd2.ExecuteNonQuery();e fecha novamente.Eu se fosse voce criaria um dataset ou table, funcao e criava novo metodo gravar baseado nesta funcao dataset ou datatable. Seria a melhor forma de programar do que juntar estes codigo todos dentro, puxar e gravar ao mesmo tempo.
Just Be Humble Malange!- Marcado como Resposta Bruno Barbosa PVH quinta-feira, 7 de abril de 2011 23:08