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
Partager