DataAdapter.update ne fonctionnant pas sur un rows.remove
Bonjours, je suis actuellement bloqué sur un remove.
Je m'explique, lorsque je fais ma commande
Code:
MonDataAdapter.Update(monDataSet, "laTable");
il me fait bien les insert, les update mais pas les deletes? J'aimerais comprendre pourquoi?
Voici le code sur l'update
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
public bool UpdateDb(string pAdapter)
{
bool Rep = true;
OdbcDataAdapter MonDataAdapter = SelectAdapter(pAdapter);
try
{
OdbcCommandBuilder oCommand = new OdbcCommandBuilder(MonDataAdapter);
MonDataAdapter.Update(oDataSet, pAdapter);
}
catch (Exception e)
{
MessageBox.Show("L'erreur suivante a été rencontrée :" + e.Message, "Erreur", MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
Rep = false;
}
return Rep;
} |
le code de SelectAdapter(pAdapter)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
private OdbcDataAdapter SelectAdapter(string pAdapter)
{
OdbcDataAdapter MonDataAdapter = null;
switch (pAdapter)
{
case "CLASSE":
{
MonDataAdapter = oDataClasse;
break;
}
case "JOUR":
{
MonDataAdapter = oDataJour;
break;
}
case "COURS":
{
MonDataAdapter = oDataCours;
break;
}
case "ELEVES":
{
MonDataAdapter = oDataEleves;
break;
}
case "PROFESSEUR":
{
MonDataAdapter = oDataProf;
break;
}
case "SALLE":
{
MonDataAdapter = oDataSalle;
break;
}
case "MATIERE":
{
MonDataAdapter = oDataMatiere;
break;
}
}
return MonDataAdapter;
} |
Et enfin le code de déclaration de mon oDataMatiere (puisque pour l'instant je suis sur le oDataMatiere)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
private void chargement_bdd()
{
oDataClasse = new OdbcDataAdapter("Select * from CLASSE order by NOM_CLASSE ASC", oConnection);
oDataClasse.Fill(oDataSet, "CLASSE");
oDataJour = new OdbcDataAdapter("Select * from JOUR order by ID_JOUR ASC", oConnection);
oDataJour.Fill(oDataSet, "JOUR");
oDataCours = new OdbcDataAdapter("Select * from COURS",oConnection);
oDataCours.Fill(oDataSet, "COURS");
oDataEleves = new OdbcDataAdapter("select * from Eleves order by NOM_ELEVE, PRENOM_ELEVE", oConnection);
oDataEleves.Fill(oDataSet, "ELEVES");
oDataProf = new OdbcDataAdapter("select * from PROFESSEUR order by NOM_PROF, PRENOM_PROF", oConnection);
oDataProf.Fill(oDataSet, "PROFESSEUR");
oDataSalle = new OdbcDataAdapter("select * from SALLE", oConnection);
oDataSalle.Fill(oDataSet, "SALLE");
oDataMatiere = new OdbcDataAdapter("Select * from MATIERE order by NOM_MATIERE ASC", oConnection);
oDataMatiere.Fill(oDataSet, "MATIERE");
} |
voilou, en gros si j'update une row l'update en db se fait bien, idem si je modifie une row en revanche si j'en delete une, le delete en base ne se fait pas? Pour delete une row j'utilise bien
Code:
oDataSet.Tables[pNomTable].Rows.Remove(pRow);