OVH Cloud OVH Cloud

Mettre à jour plusieurs tables

1 réponse
Avatar
Boris Sargos
Salut,

au sein de la même transaction, j'aimerais mettre à jour plusieurs
tables. Mais je n'y arrive pas.
En effet, pour mettre à jour une table, il faut un DataTableAdapter.
Donc, comme j'ai trois tables à mettre à jour, j'ai trois
DataTableAdapter. Ceux-ci ayant été générés par l'assistant Visual
Studio, ils définissent leur propre connexion. Ainsi, le code suivant ne
fonctionne pas :

MyDataSet ds = new MyDataSet();
MyTable1DataTableAdapter da1 = new MyTable1DataTableAdapter();
MyTable2DataTableAdapter da2 = new MyTable2DataTableAdapter();
MyTable3DataTableAdapter da3 = new MyTable3DataTableAdapter();

OleDbConnection conn = da1.Connection;
conn.Open();
OleDbTranscation trans = conn.BeginTransaction();
da2.Transaction = trans;
da3.Transaction = trans;

/* code ... */

da1.Update(ds.MyTable1);
da2.Update(ds.MyTable2);
da3.Update(ds.MyTable3);

trans.Commit();

Comment dois-je faire ?

Merci pour vos lumières.

1 réponse

Avatar
Guillaume Davion
Rien ne t'empeche de redéfinir la connexion utilisée par les
DataAdapter (au niveau des Insert, Update et DeleteCommand), et
d'ouvrir une transaction au début des instructions, pour la fermer à
la fin.