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 45 46 47 48 49 50 51 52 53
| OracleConnection connexion = new OracleConnection(OraDb);
connexion.Open();
OracleCommand command = new OracleCommand();
command.Connection = connexion;
command.CommandText = "SELECT USER, SYSDATE, MATABLE.ID, MATABLE.DAT_USRMAJ FROM MATABLE WHERE ROWNUM = 1";
command.CommandType = CommandType.Text;
OracleDataAdapter adapter = new OracleDataAdapter();
adapter.SelectCommand = command;
OracleCommandBuilder builder = new OracleCommandBuilder(adapter);
DataSet dataset = new DataSet();
adapter.Fill(dataset, "TABLE");
DataTable Dt = dataset.Tables["TABLE"];
// Début de transaction
OracleTransaction transaction = connexion.BeginTransaction(IsolationLevel.ReadCommitted);
// Assign transaction object for a pending local transaction
command.Transaction = transaction;
// 1er enregistrement retourné
DataRow row = Dt.Rows[0];
// On récupère SYSDATE
string MaDate = row["SYSDATE"];
// Création d'un nouveau row
row = Dt.DataSet.Tables["TABLE"].NewRow();
row["ID"] = MaCleTable1;
row["COD_USRMAJ"] = MaDate;
// on met à jour
adapter.Update(rec.dataset, "TABLE");
adapter.Fill(rec.dataset);
// puis on fait pareil avec la 2ème table :
[......]
row = Dt.DataSet.Tables["TABLE"].NewRow();
row["ID"] = MaCleTable2;
row["COD_USRMAJ"] = MaDate;
row["IDTAB1"] = MaCleTable1;
// on met à jour
adapter.Update(rec.dataset, "TABLE");
adapter.Fill(rec.dataset);
transaction.Commit() |
Partager