Привет, ребята, я создаю настольное приложение для проверки студентов, после того как я связал свою базу данных (postgres) с проектом и показывал свою таблицу, когда я пытаюсь что-то удалить, она показывает мне эту ошибку и ID_student и DELETE / UPDATE кнопки изменения позиций с первыми столбцами это нормальный
затем после того, как я нажму кнопку удаления , но в моей базе данных пользователь был удален, и та же ошибка появляется на моей надписи, студенты добавлены, но я получил эту ошибку, я ищу много решений, проверял свои переменные и почти потерял надежду, это моя таблица
private new void Select()
{
try
{
conn.Open();
sql= @"select etudiant.id_etudiant,etudiant.nom,etudiant.prenom,etudiant.age,etudiant.sexe,etudiant.num,class.nom_class
from etudiant
inner join class on etudiant.classess=class.id_class";
cmd = new NpgsqlCommand(sql, conn);
dt = new DataTable();
dt.Load(cmd.ExecuteReader());
conn.Close();
bunifuCustomDataGrid1.DataSource = null;//resete
bunifuCustomDataGrid1.DataSource = dt;
}
catch ( Exception ex)
{
conn.Close();
MessageBox.Show("ERROR" + ex.Message);
}
}
, и это мое удаление
{
if (bunifuCustomDataGrid1.Columns[e.ColumnIndex].Name == "Delete")
{
try
{
conn.Open();
sql = @"Select all from deleteEtudiant(:id_) ";
cmd = new NpgsqlCommand(sql, conn);
cmd.Parameters.AddWithValue("id_", int.Parse(bunifuCustomDataGrid1.Rows[e.RowIndex].Cells["ID"].Value.ToString()));
if ((int)cmd.ExecuteScalar() == 1)
{
MessageBox.Show("Deleted");
}
conn.Close();
}
catch (Exception ex)
{
conn.Close();
MessageBox.Show("User deleted don't forget the bug yassine" + ex.Message);
}
}
if (bunifuCustomDataGrid1.Columns[e.ColumnIndex].Name == "Update")
{
try
{
conn.Open();
sql = @"Select * from updateETUDIANT(':id_,:ST_Firstname ,:ST_prenom ,:ST_Age,:ST_Sexe,:ST_num');
";
cmd = new NpgsqlCommand(sql, conn);
cmd.Parameters.AddWithValue("id_", int.Parse(bunifuCustomDataGrid1.Rows[e.RowIndex].Cells["ID_etudiant"].Value.ToString()));
cmd.Parameters.AddWithValue("ST_Firstname", (bunifuCustomDataGrid1.Rows[e.RowIndex].Cells["Nom"].Value.ToString()));
if ((int)cmd.ExecuteScalar() == 1)
{
MessageBox.Show("UPDATED");
Select();
}
conn.Close();
}
catch (Exception ex)
{
conn.Close();
MessageBox.Show("User UPDATED"+ex.Message);
Select();
}
}
Прошу прощения за длинный пост, и я надеюсь, что вы можете сказать мне, как улучшить
изменить: у меня небольшой вопрос, мой запрос здесь неверен?
public void Ajouter_Click(object sender, EventArgs e)
{
try
{
conn.Open();
sql = "insert into etudiant (Nom, prenom, sexe) " +
"values(@Nom, @prenom, @sexe);";
cmd = new NpgsqlCommand(sql, conn);
cmd.Parameters.AddWithValue("nom", bunifuMaterialTextbox1.Text);
cmd.Parameters.AddWithValue("prenom", bunifuMaterialTextbox2.Text);
//cmd.Parameters.AddWithValue("Age", bunifuMaterialTextbox2.ToString());//
cmd.Parameters.AddWithValue("sexe", bunifuMaterialTextbox3.Text);
//cmd.Parameters.AddWithValue("Num", bunifuMaterialTextbox6.Text);
//cmd.Parameters.AddWithValue("Classess", bunifuMaterialTextbox7.Text);
int result = (int)cmd.ExecuteScalar();
if (result==1)
{
conn.Close();
MessageBox.Show("Etudinat ajouter");
}
}
catch (Exception ex)
{
MessageBox.Show("ERROR" + ex.Message);
conn.Close();
}
}
он дает мне ту же ссылку на объект ошибки, что и при удалении