Mise à jour d'une bdd par DataSet

cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 - 1 déc. 2008 à 10:58
Sam0ss Messages postés 3 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 9 décembre 2008 - 9 déc. 2008 à 14:16
Amis du jour, bonjour!

Je cherche à utiliser les DataSet pour les traitements que j'ai à faire dans ma base de données. Je voudrais tout d'abord selectionner mes donnees d'une seule table, ensuite faire un traitement sur ces données et enfin enregistrer les modifcations. Tout à travers l'utillisation d'un DataSet...

Voici mon code :

// on cree l'objet Command du select

OleDbCommand commandSelect =
new
OleDbCommand(
"SELECT * FROM YL425;", bdd.Connection);

// on cree l'objet Command de l'update
string strSQL =
"SELECT * FROM YL425";

OleDbCommand myAccessCommand =
new
OleDbCommand(strSQL, bdd.Connection);

OleDbDataAdapter myDataAdapter =
new
OleDbDataAdapter(myAccessCommand);
myDataAdapter.MissingSchemaAction =
MissingSchemaAction.AddWithKey;

// Create the dataset and add the Categories table to it:
DataSet myDataSet =
new
DataSet();

try
{
myDataAdapter.Fill(myDataSet,
"YL425");
}

catch (
Exception ex)
{

MessageBox.Show(
"Error: Impossible de remplir le DataSet avec les donnees.\n{0}", ex.Message);

return;
}

// on cree le updateCommand
myDataAdapter.UpdateCommand =
new
OleDbCommand(
"UPDATE YL425 SET derPerRel = ?" +

"WHERE idTraitement = ?");

// on definit les parametres pour la commande Update
myDataAdapter.UpdateCommand.Parameters.Add(
"@idTraitement",
OleDbType.BigInt, 8,
"idTraitement");
myDataAdapter.UpdateCommand.Parameters.Add(
"@derPerRel",
OleDbType.VarChar, 6,
"derPerRel");

// on commence les traitements sur YL425

for (
int i = 0; i < 100; i++)
{

// ici ont lieu tous mes traitements avec des changements de valeurs
}
myDataAdapter.Update(myDataSet);

J'arrive bien à récupérer mes données, mais impossible des les mettre à jour, il doit me manquer quelque chose. Je me demandais également s'il etait plus judicieux (en terme de temps d'execution) de faire un Update à chaque changement de données ou s'il vallait mieux attendre que tous les changements soient fait, puis de tout mettre à jour.

Enfin pour finir, si quelqu'un connait un bon tuto sur les DataSet et leurs utilisation avec les base de données, je suis preneur!

Merci d'avance.

Hasen

1 réponse

Sam0ss Messages postés 3 Date d'inscription vendredi 3 octobre 2008 Statut Membre Dernière intervention 9 décembre 2008
9 déc. 2008 à 14:16
salut,

j'ai eu un problème du genre hier soir et j'ai débloqué a 3' du mat!
Pour mon cas (base SQL), le problème venait du fait que l'état de mes lignes était en "added" ou "unchanged"... jamais en "modified". Du coup çà ne faisait qu'ajouter des lignes au lieu d'updater. Ca n'a donc pas l'air d'être le même problème, mais regarde le "rowstate" des lignes de la table du dataset, c'est peut-être une piste... si ce n'est pas "modified" y'a un soucis.

Sam0ss.
0
Rejoignez-nous