Talk to me with a difficulty getting my strings to update my information. My scenario is this one currently: I have a checkedlistbox where I have my total strings are 9. In the data insertion part I can do it normally, but I do not know how to get the selected string and update OBS: MY STRINGS ARE FIXED SO MUCH TO INSERT SO MUCH TO UPDATE . if I put my checkedlistbox.text, it only takes a string, even though I select more than one, I already tried checkedlistbox.setitems, CheckedItems and so on. and in vdd I need to pick up more than one selected string and send it to my bank.
This is my code where I have my fields to update, I used parameters because I believe it would be easier.
public bool Update(ArrayList p_arrUpdate)
{
vsql = "UPDATE alunos SET nome = @nome, idade = @idade, endereco = @endereco, quadra_lote = @quadra_lote, telefone = @telefone, email = @email, cidade = @cidade, uf = @uf, nome_pai = @nome_pai, nome_mae = @nome_mae, situacao = @situacao, atividade = @atividade WHERE id_aluno = @id_aluno";
SqlCommand objcmd = null;
if (this.conectar())
try // ele responsavel por tentar executar o array, se der alguma coisa errada e vai cair no finally
{
objcmd = new SqlCommand(vsql, objCon);
objcmd.Parameters.Add(new SqlParameter("@id_aluno", p_arrUpdate[0]));
objcmd.Parameters.Add(new SqlParameter("@nome", p_arrUpdate[1]));
objcmd.Parameters.Add(new SqlParameter("@idade", p_arrUpdate[2]));
objcmd.Parameters.Add(new SqlParameter("@endereco", p_arrUpdate[3]));
objcmd.Parameters.Add(new SqlParameter("@quadra_lote", p_arrUpdate[4]));
objcmd.Parameters.Add(new SqlParameter("@telefone", p_arrUpdate[5]));
objcmd.Parameters.Add(new SqlParameter("@email", p_arrUpdate[6]));
objcmd.Parameters.Add(new SqlParameter("@cidade", p_arrUpdate[7]));
objcmd.Parameters.Add(new SqlParameter("@uf", p_arrUpdate[8]));
objcmd.Parameters.Add(new SqlParameter("@nome_pai", p_arrUpdate[9]));
objcmd.Parameters.Add(new SqlParameter("@nome_mae", p_arrUpdate[10]));
objcmd.Parameters.Add(new SqlParameter("@situacao", p_arrUpdate[11]));
objcmd.Parameters.Add(new SqlParameter("@atividade", p_arrUpdate[12]));
objcmd.ExecuteNonQuery();
return true;
}
catch (SqlException sqlerr)
{
throw sqlerr;
}
finally
{
this.desconectar();
}
else
{
return false;
}
}
This is my code where in the save button the changes it makes the ArrayList.
private void button1_Click(object sender, EventArgs e)
{
SysDBADM obj = new SysDBADM();
ArrayList arr = new ArrayList();
try
{
arr.Add(TB_cod.Text);
arr.Add(TB_nome.Text);
arr.Add(TB_idade.Text);
arr.Add(TB_endereco.Text);
arr.Add(TB_quadra_lote.Text);
arr.Add(MD_telefoneCel.Text);
arr.Add(TB_email.Text);
arr.Add(TB_cidade.Text);
arr.Add(TB_uf.Text);
arr.Add(TB_nomepai.Text);
arr.Add(TB_nomemae.Text);
arr.Add(CB_ativo.Text);
arr.Add(CLB_atividade.Text + ","); // esse é meu checkedlistbox
if (obj.Update(arr))
{
TB_cod.Clear();
TB_nome.Clear();
TB_idade.Clear();
TB_endereco.Clear();
TB_quadra_lote.Clear();
MD_telefoneFixo.Clear();
MD_telefoneCel.Clear();
TB_email.Clear();
TB_cidade.Clear();
TB_uf.Clear();
TB_nomepai.Clear();
TB_nomemae.Clear();
CB_ativo.Text = "";
while (CLB_atividade.CheckedItems.Count > 0)
{
CLB_atividade.SetItemChecked(CLB_atividade.CheckedIndices[0],false);
}
MessageBox.Show("Cadastro Atualizado.", "Mensagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("Erro ao Atualizar!", "Mesagem do Sistema", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception erro)
{
MessageBox.Show(erro + "Erro Ocorrido");
}
}
This is the image where I make the changes to the registered record.