Update is not working with a table with two primary key

  • Thread starter Thread starter F.oliveirarocha
  • Start date Start date
F

F.oliveirarocha

Guest
Hi folks,

I'm trying to update a form with Parent and Child DataGridView - And the comand Update is not working when I try to Update the Child DataGridView, but the Update comand for the Parent DataGridview is working perfectly, which doesn"t have a double primary key.

The table has the following fields:

Cod_Entrada_Titulos_a_Pagar int primary key

Cod_Numero_Parcelas_a_Pagar int primary key

Numero_Parcela numeric(3, 0)
Data_Vencimento datetime
Valor_Parcela decimal(18, 2)
Historico varchar(50)
Cod_Status_Titulo int



Here is the code for Update the table


private void btn_atualizarParcela_Click(object sender, EventArgs e)
{
Data_Agora = DateTime.Now;
data_logintxtbox.Text = Data_Agora.ToShortDateString();
login_NameTextBox.Text = Login.DadosGerais.Loginusuario;

string constr = @"Data Source=DESKTOP-3O98051;Initial Catalog=SGFRenaissance;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(constr))

if (cod_Entrada_Titulos_a_PagarTextBox2.Text != "" && numero_ParcelaTextBox1.Text != "" && dateTimePicker1.Text != "" && valor_ParcelaTextBox1.Text != "")
{
try
{
cmd = new SqlCommand("UPDATE Numero_Parcelas_a_Pagar SET Numero_Parcela=@Numero_Parcela, Data_Vencimento=@Data_Vencimento, Valor_Parcela=@Valor_Parcela, Historico=@Historico, Cod_Status_Titulo=@Cod_Status_Titulo WHERE (Cod_Numero_Parcelas_a_Pagar=@Cod_Numero_Parcelas_a_Pagar AND Cod_Entrada_Titulos_a_Pagar=@Cod_Entrada_Titulos_a_Pagar) ", conn);
conn.Open();
cmd.Parameters.AddWithValue("@Cod_Numero_Parcelas_a_Pagar", IDparcela);
Int32 Numero_Parcelas = Int32.Parse(numero_ParcelaTextBox1.Text);
cmd.Parameters.AddWithValue("@Numero_Parcela", Numero_Parcelas);
DateTime DataVencimento = Convert.ToDateTime(dateTimePicker1.Value);
DataVencimento.ToShortDateString();
cmd.Parameters.AddWithValue("@Data_Vencimento", DataVencimento);
Decimal ValorParcela = Convert.ToDecimal(valor_ParcelaTextBox1.Text);
cmd.Parameters.AddWithValue("@Valor_Parcela", ValorParcela);
cmd.Parameters.AddWithValue("@Historico", historicoTextBox1.Text);
Int32 StatusTitulo = Int32.Parse(cod_Status_TituloTextBox2.Text);
cmd.Parameters.AddWithValue("@Cod_Status_Titulo", StatusTitulo);
cmd.ExecuteNonQuery();

// this message shows but does not update on the table

MessageBox.Show("Comando atualizar executado!");
}
catch(Exception Ex)
{
MessageBox.Show("Erro! " + Ex.Message);
}
finally
{
conn.Close();
}


// here I Update the Login Date and Login Name which is on the father table
try
{
cmd = new SqlCommand("UPDATE Entrada_Titulos_a_Pagar SET Data_Login=@Data_Login, Login_Name=@Login_Name WHERE Cod_Entrada_Titulos_a_Pagar=@Cod_Entrada_Titulos_a_Pagar", conn);
conn.Open();
Data_Agora = Convert.ToDateTime(data_logintxtbox.Text);
cmd.Parameters.AddWithValue("@Cod_Entrada_Titulos_a_Pagar", ID);
cmd.Parameters.AddWithValue("@Data_Login", Data_Agora);
cmd.Parameters.AddWithValue("@Login_Name", login_NameTextBox.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Dados da Parcela Atualizados com Sucesso!");
}
catch (Exception Ex)
{
MessageBox.Show("Erro! " + Ex.Message);
}
finally
{
conn.Close();
ExibirDadosTitulo();
ExibirDadosParcela();
LimparDados();
}
}
else
{
MessageBox.Show("Informe todos os Dados Necessários para Atualizar a Parcela!");
}
}


Why is not Updating?

I did not includede the code to Update the Father's table because is working fine, and I think that is not the problem.

In case if you need, just tell me.

Thanks so much for your help.

Continue reading...
 
Back
Top