salut,
j'essai de supprimer des colonnes (enregistrements) d'une Table qui contient seulement 2 clés primaires (ID et Code)

si par exemple ma table contient :
ID Code
1 2
1 5
1 7
1 9
2 1
6 7

si mon txtID contient 1 alors toutes les lignes dont le Id contient 1 deverons etres effaces.


Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
OleDbConnection thisconnection = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MaBD.mdb");
thisconnection.Open();
OleDbDataAdapter thisAdapter = new OleDbDataAdapter("SELECT * FROM MaTable WHERE ID='" + txtID.text + "'", thisconnection);
OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);
DataSet thisDataSet = new DataSet();
thisAdapter.Fill(thisDataSet, "MaTable");
DataColumn[] keys = new DataColumn[1];
keys[0] = thisDataSet.Tables["MaTable"].Columns["ID"];
thisDataSet.Tables["MaTable"].PrimaryKey = keys;
DataRow findRow = thisDataSet.Tables["MaTable"].Rows.Find(txtID.text);
while (findRow != null)
{
    findRow.Delete();
}
thisAdapter.Update(thisDataSet, "MaTable");
thisconnection.Close();

l'erreur qu'il me retourne est : "Ces colonnes n'ont pas actuellement de valeurs uniques." et il pointe vers "DataRow findRow = thisDataSet.Tables["MaTable"].Rows.Find(txtID.text);"

j'espere que quelqu'un peut m'aider je suis vraiment bloqué et Merci