Beispiel #1
0
 //Получение диапазона клона
 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)); }
 }
Beispiel #2
0
 //Подготовка сигналов
 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);
     }
 }
Beispiel #3
0
        //Сохранение в 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());
                    }
                }
            }
        }
Beispiel #4
0
        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());
        }