Bug fix : Saving to Oracle failed due to large VolumeStart/VolumeEnd values, ver. 2.18.1131
This commit is contained in:
@@ -968,31 +968,26 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
|
||||
"Q_WZ, Q_Fehler, Q_Best, NIZ, AnfangZStand, EndZStand, " +
|
||||
"KorrErrQok, KorrErrQ, KorrQWz, TIZ, Vol_WZ_US, TempMittel_US)" +
|
||||
" VALUES (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, 0, :14, 0, :15, 0, 0)", conn);
|
||||
OracleParameter parm;
|
||||
parm = new OracleParameter("VT_Fernum", OracleDbType.Varchar2); parm.Value = mtr.WaterMeter.SerialNr; cmd.Parameters.Add(parm); ///:1
|
||||
parm = new OracleParameter("Pruefindex", OracleDbType.Int32); parm.Value = max_Pruefindex; cmd.Parameters.Add(parm); ///:2
|
||||
parm = new OracleParameter("PruefungsNr", OracleDbType.Int32); parm.Value = pruefungsNr; cmd.Parameters.Add(parm); ///:3
|
||||
parm = new OracleParameter("ANBID", OracleDbType.Int32); parm.Value = Anbid_StaraTura; cmd.Parameters.Add(parm); ///:4
|
||||
parm = new OracleParameter("ID_WZTyp", OracleDbType.Int32); parm.Value = mtr.WaterMeter.WaterMeterData.WMTypeId; cmd.Parameters.Add(parm); ///:5
|
||||
parm = new OracleParameter("Rev_WZTyp", OracleDbType.Int32); parm.Value = mtr.WaterMeter.WaterMeterData.WMTypeRev; cmd.Parameters.Add(parm); ///:6
|
||||
parm = new OracleParameter("Rev_WZPruefpunkt", OracleDbType.Int32); parm.Value = 1; cmd.Parameters.Add(parm); ///:7
|
||||
parm = new OracleParameter("Q_WZ", OracleDbType.Double); parm.Value = Q_wm_with_upper_bound; cmd.Parameters.Add(parm); ///:8
|
||||
parm = new OracleParameter("Q_Fehler", OracleDbType.Double); parm.Value = Math.Min(100.0, Math.Max(-100.0, mtr.Error)); cmd.Parameters.Add(parm); ///:9
|
||||
parm = new OracleParameter("Q_Best", OracleDbType.Int32); parm.Value = mtr.Passed ? 1 : 0; cmd.Parameters.Add(parm); ///:10
|
||||
parm = new OracleParameter("NIZ", OracleDbType.Int32); parm.Value = 0; cmd.Parameters.Add(parm); ///:11
|
||||
parm = new OracleParameter("AnfangZStand", OracleDbType.Double); parm.Value = mtr.VolumeStart; cmd.Parameters.Add(parm); ///:12
|
||||
parm = new OracleParameter("EndZStand", OracleDbType.Double); parm.Value = mtr.VolumeEnd; cmd.Parameters.Add(parm); ///:13
|
||||
/// KorrErrQok bool true = Q2 within limits, 'passed' in case of Q1, Q3, Q4
|
||||
parm = new OracleParameter("KorrErrQ", OracleDbType.Double); parm.Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)); cmd.Parameters.Add(parm); ///:14
|
||||
/// KorrErrQ double 'Q2 error before correction' when correction done or 'Q2 error' when correction not done
|
||||
/// = q2.WaterMeter.Q2CorrectionDone ? q2.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture) : q2.Error.ToString(Program.AltCulture)));
|
||||
/// KorrQWz double
|
||||
parm = new OracleParameter("TIZ", OracleDbType.Double); parm.Value = Math.Min(100000, mtr.TestTime); cmd.Parameters.Add(parm); ///:15
|
||||
/// Vol_WZ_US
|
||||
/// TempMittel_US
|
||||
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Varchar2, Value = mtr.WaterMeter.SerialNr });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = max_Pruefindex });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = pruefungsNr });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = Anbid_StaraTura });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.WaterMeter.WaterMeterData.WMTypeId });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.WaterMeter.WaterMeterData.WMTypeRev });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 1 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Q_wm_with_upper_bound });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.Error)) });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = mtr.Passed ? 1 : 0 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = 0 }); /// mtr.VolumeStart
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = 0 }); /// mtr.VolumeEnd
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)) });
|
||||
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100000, mtr.TestTime) });
|
||||
|
||||
int retv = cmd.ExecuteNonQuery();
|
||||
log.DebugFormat("VT_PRUEFREIHE_IST_PD inserted, PcbNr={0}, pruefungsNr={1}, error={2}", mtr.WaterMeter.SerialNr, pruefungsNr, mtr.Error);
|
||||
|
||||
log.DebugFormat("VT_PRUEFREIHE_IST_PD inserted, PcbNr={0}, pruefungsNr={1}, error={2}", mtr.WaterMeter.SerialNr, pruefungsNr, mtr.Error);
|
||||
return retv;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user