Array
(
)

Ajuda com tela de edição (CRUD)(ASP.NET CShap)

Igor Marcante
   - 12 abr 2015

Olá, sou novato com desenvolvimento asp.net e estou tendo problema para atualiza um usuario, acontece o seguinte problema. Estou utilizando esse codigo no page_load para carregar as informação do banco nos textbox:
#Código

   SqlConnection conexao = new SqlConnection(connectionString);
     
            string chave = Request.QueryString["IdUsuario"];
             

            string comandosSql = "SELECT * FROM Segu_Usuarios WHERE IdUsuario = '" + Convert.ToInt32(chave) + "'";
            conexao.Open();
            
             SqlCommand comando = new SqlCommand(comandosSql, conexao);
         
           
                 SqlDataReader reader = comando.ExecuteReader();
                 while (reader.Read())
                 {
                     txtLogin.Text = reader[1].ToString();
                     txtNome.Text = reader[3].ToString();
                     txtMatricula.Text = reader[2].ToString();
                     txtDataNascimento.Text = reader[4].ToString();
                     txtEmail.Text = reader[5].ToString();
                     txtTelefone.Text = reader[6].ToString();
                     break;
                 }
                 conexao.Close();

Até ai tudo bem, mas quando eu mudo as informações e clico no botão atualizar nada acontece. Código do botão atualizar:
#Código
   SqlConnection conexao = new SqlConnection(connectionString);

    
            string chave = Request.QueryString["IdUsuario"];
    
            SqlCommand comando = new SqlCommand();
            comando.Connection = conexao;
         

            comando.CommandText = ("UPDATE Segu_Usuarios SET Login = @Login, MtrUsuario = @MtrUsuario, Dtnasc = @Dtnasc, DeEmail = @DeEmail,Telefone  =     @Telefone,NmUsuario = @NmUsuario WHERE IdUsuario = '" + Convert.ToInt32(chave) + "'");
            comando.Parameters.AddWithValue("@NmUsuario", txtNome.Text);
            comando.Parameters.AddWithValue("@Login", txtLogin.Text);
            comando.Parameters.AddWithValue("@MtrUsuario", txtMatricula.Text);
            comando.Parameters.AddWithValue("@Dtnasc", txtDataNascimento.Text);
            comando.Parameters.AddWithValue("@DeEmail", txtEmail.Text);
            comando.Parameters.AddWithValue("@Telefone", txtTelefone.Text);
            
            conexao.Open();
            //executando os comandos com os parametros que foram passados
            comando.ExecuteNonQuery();
            conexao.Close();
            Response.Redirect("ListarUsuarios.aspx");

Mas se eu não recuperar as informações do banco(primeiro código)(deixar sem esse código) eu consigo fazer atualização normalmente.. O que pode estar ocasionando esse erro?