none
Dúvida sobre checkbox em c# RRS feed

  • Pergunta

  • Prezados, boa noite. Tenho a seguinte situação de insert no banco de dados, uma coluna de checkbox e um formulário contendo as mesmas. No VB.net eu faria da seguinte forma:

    cmd.Parameters.Add(New MySqlParameter("@ativo_log", CInt(chAtivo.CheckState).ToString))

    E no C# o seguinte código:

    if (chStatus.CheckState == CheckState.Checked)
                        
                    {
                        status = 1;                    
    
                    } else
                    {
                        status = 0;                    
                    }
    String[] array = {
                    status.ToString(),
    
                    };

    Minha pergunta é a seguinte: Existe alguma forma mais fácil de efetuar a mesma operação acima citada do VB em C# sem utilizar if e else para atribuir valor à variável status?

    Obs: no c# estou utilizando arrays e no VB.net não utilizava.

    Abaixo segue o código da model responsável por inserir no banco de dados:

    public CadUser(String[] data)
            {
                if (data != null)
                {
                    
                    cmd.CommandText = "INSERT INTO tb_users(nome, email, senha, cep, logradouro, numero, complemento, bairro, cidade, ibge, uf, telefone, celular, status, created) VALUES(@nome, @email, @senha, @cep, @logradouro, @numero, @complemento, @bairro, @cidade, @ibge, @uf, @telefone, @celular, @status, @created)";
    
                    String[] tables = { "nome", "email", "senha", "cep", "logradouro", "numero", "complemento", "bairro", "cidade", "ibge", "uf", "telefone", "celular", "status" };
    
                    for (int i = 0; i<=tables.Length -1; i++)
                    {
                        cmd.Parameters.AddWithValue("@" + tables[i], data[i]);                    
                    }
                    
                    cmd.Parameters.AddWithValue("@created", DateTime.Now.ToString("yyyy'-'MM'-'dd"));
    
                    try
                    {
                        cmd.Connection = dbConn.connect();
                        cmd.ExecuteNonQuery();
                        this.msg = "Usuário inserido com sucesso!";
                        dbConn.disconnect();
    
                    }
                    catch (MySqlException e)
                    {
                        this.msg = "Ocorreu um erro ao inserir o usuário: " + e;
                    }
                } else
                {
                    this.msg = "Preencha todos os dados!";
                    return;
                }
    
            }

    Desde já, grato!


    domingo, 4 de outubro de 2020 22:15

Respostas

  • Boa noite, pessoal. Consegui resolver utilizando a seguinte linha:

    Convert.ToInt32(chStatus.CheckState).ToString()

    Obrigado!

    • Marcado como Resposta Thiago Marcondes segunda-feira, 5 de outubro de 2020 23:18
    segunda-feira, 5 de outubro de 2020 23:18