//Получение диапазона клона public TimeInterval GetTime() { try { using (var rec = new DataSetSql(SqlProps, "SysTabl")) { rec.FindFirst("ParamName", "BeginInterval"); TimeIntervals.Clear(); var t = new TimeInterval(rec.GetString("ParamValue").ToDateTime(), DateTime.Now); TimeIntervals.Add(t); return(t); } } catch { return(new TimeInterval(Different.MinDate, Different.MaxDate)); } }
//Подготовка сигналов public void Prepare() { try { Logger.AddEvent("Подготовка сигналов"); _signalsId.Clear(); _signalsStrId.Clear(); using (var rec = new DataSetSql(SqlProps, "SELECT SignalId, FullCode, Otm FROM Signals")) while (rec.Read()) { string code = rec.GetString("FullCode"); if (ProviderSignals.ContainsKey(code)) { (ProviderSignals[code].DataType.LessOrEquals(DataType.Real) ? _signalsId : _signalsStrId) .Add(rec.GetInt("SignalId"), ProviderSignals[code]); } } } catch (Exception ex) { Logger.AddError("Ошибка при подготовке сигналов", ex); } }
//Сохранение в SQL public void ValuesToSql() { int id; using (var rec = new DataSetSql(_sqlProps, "SELECT * FROM Objects WHERE CodeObject='" + Code + "'")) { if (!rec.HasRows()) { rec.AddNew(); } rec.Put("CodeObject", Code); rec.Put("NameObject", Name); rec.Put("Comment", Comment); rec.Update(); rec.Reload(); id = rec.GetInt("ObjectId"); } using (var rec = new DataSetSql(_sqlProps, "SELECT * FROM Signals WHERE ObjectId=" + id)) { if (!rec.HasRows()) { rec.AddNew(); } rec.Put("ObjectId", id); rec.Put("CodeSignal", "Руч"); rec.Put("NameSignal", "Ручной ввод"); rec.Put("FullCode", Code + ".Руч"); rec.Put("Default", true); rec.Put("DataType", DataType); rec.Put("Units", Units); rec.Put("Active", true); rec.Update(); rec.Reload(); id = rec.GetInt("SignalId"); } var dt = DataType.ToDataType(); DateTime mind = Different.MaxDate, maxd = Different.MinDate; DataSetSql recv; if (dt.LessOrEquals(BaseLibrary.DataType.Real)) { SqlDb.Execute(_sqlProps, "DELETE MomentsValues FROM MomentsValues WHERE SignalId=" + id); recv = new DataSetSql(_sqlProps, "SELECT * FROM MomentsValues WHERE SignalId=" + id); } else { SqlDb.Execute(_sqlProps, "DELETE MomentsStrValues FROM MomentsStrValues WHERE SignalId=" + id); recv = new DataSetSql(_sqlProps, "SELECT * FROM MomentsStrValues WHERE SignalId=" + id); } using (recv) foreach (var v in HandInputValues) { v.ToRecordset(recv, id, dt); if (v.TimeCorrect && v.Time.ToDateTime() < mind) { mind = v.Time.ToDateTime(); } if (v.TimeCorrect && v.Time.ToDateTime() > maxd) { maxd = v.Time.ToDateTime(); } } if (mind != Different.MaxDate) { using (var rec = new DataSetSql(_sqlProps, "SELECT * FROM SysTabl")) { rec.FindFirst("ParamName", "BeginInterval"); var d = rec.GetString("ParamValue").ToDateTime(); if (d == Different.MinDate || d > mind) { rec.Put("ParamValue", mind.ToString()); } rec.FindFirst("ParamName", "EndInterval"); d = rec.GetString("ParamValue").ToDateTime(); if (d < maxd) { rec.Put("ParamValue", mind.ToString()); } } } }
private void DataSetButton_Click(object sender, EventArgs e) { var props = new SqlProps("200.0.1.20", "CalcArchiveTemplate", true, "sa", "1"); SqlDb.Execute(props, "DELETE FROM Proba"); using (var rec = new DataSetSql(props, "SELECT * FROM Proba")) { rec.AddNew(); rec.Put("IntF", 10); rec.Put("DoubleF", 20.5); rec.Put("StrF", "sss"); rec.Put("BoolF", true); rec.Put("TimeF", DateTime.Now); rec.Update(); rec.AddNew(); rec.Put("IntF", 20); double?d = null; rec.Put("DoubleF", d); rec.Put("StrF", ""); rec.Put("BoolF", false); rec.Put("TimeF", DateTime.UtcNow); rec.AddNew(); rec.Put("IntF", 30); rec.Update(); rec.AddNew(); rec.MoveFirst(); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); rec.MoveNext(); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); rec.MoveNext(); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); rec.MovePrevious(); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); rec.MoveLast(); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); MessageBox.Show(rec.FindLast("IntF", 10).ToString()); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); MessageBox.Show(rec.MoveLast() + " " + rec.MoveNext()); MessageBox.Show(rec.EOF + " " + rec.BOF); MessageBox.Show(rec.MoveFirst() + " " + rec.MovePrevious()); MessageBox.Show(rec.EOF + " " + rec.BOF); MessageBox.Show(rec.RecordCount.ToString()); rec.MoveLast(); rec.Put("IntF", 40); rec.Put("DoubleF", 200); rec.Put("StrF", "ooo"); bool?b = null; rec.Put("BoolF", b); rec.Put("TimeF", DateTime.Now); MessageBox.Show(rec.GetBool("BoolF") + " " + rec.GetBoolNull("BoolF") + " " + rec.GetInt("IntF") + " " + rec.GetIntNull("IntF") + " " + rec.GetDouble("DoubleF") + " " + rec.GetDoubleNull("DoubleF") + " " + rec.GetString("StrF") + " " + rec.GetTime("TimeF") + " " + rec.GetTimeNull("TimeF")); rec.Update(); } //SqlDb.Execute(con, "DELETE FROM Projects"); //var d = DateTime.Now; //var bulk = new DataSetSql("SELECT * FROM Projects", con); //for (int i = 0; i < 1000; i++) //{ // bulk.AddNew(); // bulk.Put("Project", "Pr" + i); // bulk.Put("ProjectName", "Name" + i); // bulk.Put("SourceChange", DateTime.Now); // bulk.Put("TimeChange", DateTime.Now); // bulk.Put("TimeAdd", DateTime.UtcNow); //} //bulk.Update(); //bulk.Close(); //MessageBox.Show(DateTime.Now.Subtract(d).TotalSeconds.ToString()); }