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!