Bonjour,

J'utilise le code suivant pour mettre à jour ou créer un enregistrement dans une table :
Code : 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
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
 
OracleConnection connexion = new OracleConnection(OraDb);
connexion.Open();
OracleCommand command = new OracleCommand();
command.Connection = connexion;
 
command.CommandText = "SELECT USER, SYSDATE, MATABLE.ID, MATABLE.COD_USRMAJ FROM MATABLE WHERE MATABLE.ID = :ID";
command.CommandType = CommandType.Text;
 
OracleParameter parameter = new OracleParameter("ID", OracleDbType.Char);
parameter.Value = MaValeur;
parameter.Direction = ParameterDirection.Input;
command.Parameters.Add(parameter);
 
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"];
 
DataRow row;
 
// Si création
If (booCreation)
{
      row = Dt.DataSet.Tables["TABLE"].NewRow();
 
      row["COD_USRMAJ"] = MaDate;
 
      // Ajout du nouvel enregistrement
      dataset.Tables["TABLE"].Rows.Add(row);
}
else
{
      row = Dt.Rows[0];
      row["COD_USRMAJ"] = row["SYSDATE"]
}
 
adapter.Update(rec.dataset, "TABLE");
adapter.Fill(rec.dataset);
Si je suis en mise à jour, la colonne COD_USRMAJ est bien renseignée avec SYSDATE, mais si je suis en création, comment obtenir SYSDATE ?
Merci