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 54 55 56 57 58 59 60 61 62 63
| List<Relève> listRelève = GetListRelève(readerrel);
InsertListRelève(listRelève);
# region Table Relève
private List<Relève> GetListRelève(SqlCeDataReader readerrel)
{
List<Relève> lrelèves = new List<Relève>();
Relève relève;
while (readerrel.Read())
{
relève = new Relève();
relève.Idrelève = (int)readerrel["Idrelève"];
relève.Refrelève = (int)readerrel["Refrelève"];
// relève.Index = (int)readerrel["Index"];
relève.Index = (float)Convert.ChangeType(readerrel["Index"], typeof(float));
relève.Relprécédente = (float)Convert.ChangeType(readerrel["Relprécédente"], typeof(float));
// relève.Relprécédente = (int)readerrel["Relprécédente"];
relève.Date_releve = (DateTime)readerrel["Date"];
relève.Consommation = (float)Convert.ChangeType(readerrel["Consommation"], typeof(float));
// relève.Consommation = (int)readerrel["Consommation"];
lrelèves.Add(relève);
}
return lrelèves;
}
private void InsertListRelève(List<Relève> listRelève)
{
OracleConnection con = new OracleConnection();
con.ConnectionString = "User Id=sonede;Password=sonede;Data Source=DEV";
con.Open();
foreach (Relève relève in listRelève)
{
OracleCommand cmd = new OracleCommand();
string queryStringrel =
"INSERT INTO RELEVE (IDRELEVE, REFRELEVE,DATE_RELEVE,INDEX,RELPRECEDENTE,CONSOMMATION) values (:param1,:param2,:param3,:param4,:param5,:param6)";
cmd.Connection = con;
cmd.CommandText = queryStringrel;
cmd.Parameters.Add("param1", OracleType.Int32).Value = GetMaxIdRelève(con) + 1;
cmd.Parameters.Add("param2", OracleType.Int32).Value = relève.Refrelève;
cmd.Parameters.Add("param3", OracleType.DateTime).Value = relève.Date_releve;
cmd.Parameters.Add("param4", OracleType.Float).Value = relève.Index;
cmd.Parameters.Add("param5", OracleType.Float).Value = relève.Relprécédente;
cmd.Parameters.Add("param6", OracleType.Float).Value = relève.Consommation;
cmd.ExecuteNonQuery();
}
}
private int GetMaxIdRelève(OracleConnection con)
{
OracleCommand cmd = new OracleCommand("select max(idreleve) maxId from releve");
cmd.Connection = con;
IDataReader reader = cmd.ExecuteReader();
if (reader.Read())
return OutilData.GetIntFromReader(reader, "maxId");
return 0;
}
#endregion |
Partager