В настоящее время я занимаюсь разработкой небольшого приложения на C #, в котором у меня есть база данных sql.В моем приложении я создал ListView, показывающий мне все данные из моей таблицы, затем я дал пользователю возможность удалить некоторые из этих данных (нажав на нужную строку (и)), но мне удалось заставить егоудаляю одни данные, но не несколько одновременно, и я не могу найти много документации по этому вопросу.Я все еще пытался с циклом foreach, но ничего, чтобы сделать это занимает только первые выбранные данные.Это, конечно, ошибка с моей стороны, но я все равно прошу вашей помощи;)
Есть мой метод для создания моего ListView:
private void chargerListe()
{
listeTest.Clear();
listViewCustom();
ListViewItem newP = new ListViewItem();
connectionBDD();
SqlCommand sqlRequete = new SqlCommand("", SqlServerDB.ConnectionBase);
SqlDataReader sqlRdr;
sqlRequete.CommandText = "Select * From Test;";
sqlRdr = sqlRequete.ExecuteReader();
while (sqlRdr.Read())
{
newP = new ListViewItem();
string ID = sqlRdr["ID"].ToString();
newP.Text = ID;
newP.Tag = sqlRdr["ID"];
string nom = EncryptDecrypt.Decrypt(sqlRdr["Nom"].ToString(), "MotDePassePasswordPvlImp");
newP.SubItems.Add(nom);
string prenom = sqlRdr["Prenom"].ToString();
newP.SubItems.Add(prenom);
string majeur = sqlRdr["Majeur"].ToString();
newP.SubItems.Add(majeur);
listeTest.Items.Add(newP);
}
И есть мое событие delete (с кнопкой):
private void bSupprimer_Click(object sender, EventArgs e)
{
connectionBDD();
SqlCommand sqlRequete = new SqlCommand("", SqlServerDB.ConnectionBase);
MessageBox.Show("Voulez vous vraiment supprimer les personnes séléctionnés?", "Suppression", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if(listeTest.SelectedIndices.Count != 0)
{
foreach (ListViewItem item in listeTest.Items)
{
if (item.Selected)
{
int id = (int)listeTest.SelectedItems[0].Tag;
MessageBox.Show("TEST " + id);
try
{
sqlRequete.CommandText = "DELETE from Test where ID =" + id + " ;";
sqlRequete.ExecuteNonQuery();
listeTest.SelectedItems.Clear();
chargerListe();
}
catch
{
MessageBox.Show("Error with SQL query !", "Error", MessageBoxButtons.YesNo, MessageBoxIcon.Error);
}
}
}
}else
{
MessageBox.Show("Veuillez selectionner une personne pour pouvoir la supprimer", "Info", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
}
listeTest.Refresh();
initSourceGrid();
MessageBox.Show("Action effectuée !");
}
Как видите, я использую тег, чтобы иметь возможность удалять свои данные в базе данных в соответствии с идентификатором.Заранее благодарен;)