none
Cadastro de usuários erro RRS feed

  • Pergunta

  • Estava a programar um sistema de registro de dados e C#, fiz um comando que conta se ja foi cadastrado um usuário com aquele nome e criei uma variavel do tipo objeto assim: object result = int.Parse(command1.ToString());

    Isto não funciona pois creio que é por que estou jogando o comando para ele contar, qual seria a solução para isso?

    Código:

    SqlCommand command1 = new SqlCommand("SELECT count(*) FROM usuarios WHERE usuario = @usuario", conn);
    
            SqlParameter param = new SqlParameter("@usuario", txtUsuario.Text);
            command1.Parameters.Add(param);
    
            List<usuarios> list = new List<usuarios>(); 
    
            object result = int.Parse(command1.ToString());


    • Editado André .NET terça-feira, 6 de dezembro de 2011 01:18
    segunda-feira, 5 de dezembro de 2011 20:44

Respostas

  • André esta faltando você fazer a chamado no banco de dados para executar seu comando, fiz uma melhoria aqui, veja se te ajuda:

    //Instancia de SqlConnection e SqlCommand
    using (SqlConnection conn = new SqlConnection("SUA STRING DE CONEXAO"))
    using (SqlCommand cmd = new SqlCommand("SELECT count(*) FROM usuarios WHERE usuario = @usuario", conn))
    {
        //Parametro
        cmd.Parameters.AddWithValue("@usuario", txtUsuario.Text);
    
        //Abrindo conexao
        if (conn.State != ConnectionState.Open)
        {
            conn.Open();
        }
    
        //Tentanto executar rotina de consulta de usuario
        try
        {
            int total = int.Parse(cmd.ExecuteScalar().ToString());
    
            //Verificando se o retorno é maior doque 1
            if (total > 1)
            {
                //Usuario ja cadastro
            }
            else
            {
                //Usuario nao cadastrado, podemos gravar o mesmo no banco
            }
        }
        catch (Exception)
        {
            //Seu tratamento de erro aqui
            throw;
        }                
    }
    

     
    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/
    • Editado Vitor Mendes terça-feira, 6 de dezembro de 2011 12:02
    • Marcado como Resposta André .NET terça-feira, 6 de dezembro de 2011 15:44
    terça-feira, 6 de dezembro de 2011 12:01

Todas as Respostas

  • Olá André,

    Acredito que não tenha entendido seu erro.

    Vc poderia colar aqui a sua mensagem de erro e o código que esta utilizando?

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.wordpress.com/
    Twitter: @ferhenrique

    terça-feira, 6 de dezembro de 2011 00:00
    Moderador
  • André esta faltando você fazer a chamado no banco de dados para executar seu comando, fiz uma melhoria aqui, veja se te ajuda:

    //Instancia de SqlConnection e SqlCommand
    using (SqlConnection conn = new SqlConnection("SUA STRING DE CONEXAO"))
    using (SqlCommand cmd = new SqlCommand("SELECT count(*) FROM usuarios WHERE usuario = @usuario", conn))
    {
        //Parametro
        cmd.Parameters.AddWithValue("@usuario", txtUsuario.Text);
    
        //Abrindo conexao
        if (conn.State != ConnectionState.Open)
        {
            conn.Open();
        }
    
        //Tentanto executar rotina de consulta de usuario
        try
        {
            int total = int.Parse(cmd.ExecuteScalar().ToString());
    
            //Verificando se o retorno é maior doque 1
            if (total > 1)
            {
                //Usuario ja cadastro
            }
            else
            {
                //Usuario nao cadastrado, podemos gravar o mesmo no banco
            }
        }
        catch (Exception)
        {
            //Seu tratamento de erro aqui
            throw;
        }                
    }
    

     
    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/
    • Editado Vitor Mendes terça-feira, 6 de dezembro de 2011 12:02
    • Marcado como Resposta André .NET terça-feira, 6 de dezembro de 2011 15:44
    terça-feira, 6 de dezembro de 2011 12:01