public void Save()
        {
            if (cNumber == 0)
            {
                throw new ArgumentException("Controlbox ID not set.");
            }
            DAO.Recordset RS;
            string        SQL = "Select * from tblControlBoxes where cbID = " + cID.ToString();

            RS = mf.Dbase.DB.OpenRecordset(SQL);
            if (NewRecord)
            {
                RS.AddNew();
            }
            else
            {
                RS.Edit();
            }
            RS.Fields["cbNumber"].Value         = cNumber;
            RS.Fields["cbDescription"].Value    = cDescription + " ";
            RS.Fields["cbUseSleep"].Value       = cUseSleep;
            RS.Fields["cbUseDiagnostics"].Value = cUseDiagnostics;
            RS.Fields["cbIPaddress"].Value      = cIPaddress;
            RS.Fields["cbMac"].Value            = cMac + " ";

            RS.Update();
            if (NewRecord)
            {
                RS.set_Bookmark(RS.LastModified);
                cID = (byte)(RS.Fields["cbID"].Value ?? 0);
            }
            RS.Close();
            NewRecord = false;
        }
        public void Save()
        {
            DAO.Recordset RS;
            string        SQL = "Select * from tblStorage where storID = " + cID;

            RS = mf.Dbase.DB.OpenRecordset(SQL);
            if (NewRecord)
            {
                RS.AddNew();
            }
            else
            {
                RS.Edit();
            }
            RS.Fields["storRecNum"].Value      = cRecNum;
            RS.Fields["storNum"].Value         = cNumber;
            RS.Fields["storDescription"].Value = cDescription;
            RS.Update();
            if (NewRecord)
            {
                RS.set_Bookmark(RS.LastModified);
                cID = (short)(RS.Fields["storID"].Value ?? 0);
            }
            RS.Close();
            NewRecord = false;
        }
Exemple #3
0
        public void Save()
        {
            if (ValidationErrors() != "")
            {
                throw new ArgumentException(ValidationErrors());
            }

            DAO.Recordset RS;
            string        SQL;

            SQL = "Select * from tblSensors where senID =" + cID;
            RS  = mf.Dbase.DB.OpenRecordset(SQL);
            if (NewRecord)
            {
                RS.AddNew();
            }
            else
            {
                RS.Edit();
            }
            RS.Fields["senRecNum"].Value       = cRecNum;
            RS.Fields["senAddress"].Value      = cSensorAddress;
            RS.Fields["senControlBoxID"].Value = cControlBoxID;
            RS.Fields["senEnabled"].Value      = cEnabled;
            RS.Fields["senOffset"].Value       = cOffset;
            RS.Fields["senLastTemp"].Value     = LastTemp();
            RS.Fields["senLastTime"].Value     = LastTime();
            RS.Fields["senBinNumber"].Value    = cBinNum;
            RS.Fields["senCableNumber"].Value  = cCableNum;
            RS.Fields["senSensorNumber"].Value = cSensorNum;
            RS.Update();
            if (NewRecord)
            {
                // update with new autoincrement ID
                RS.set_Bookmark(RS.LastModified);
                cID = (byte)(mf.Dbase.FieldToInt(RS, "senID"));
            }
            RS.Close();
            NewRecord = false;
        }
Exemple #4
0
 public bool Save()
 {
     if (IsValid())
     {
         DAO.Recordset RS;
         string        SQL;
         SQL = "Select * from tblRecords where recID =" + cID;
         RS  = mf.Dbase.DB.OpenRecordset(SQL);
         if (NewRecord)
         {
             RS.AddNew();
         }
         else
         {
             RS.Edit();
         }
         RS.Fields["recRecNum"].Value    = cRecNum;
         RS.Fields["recSenID"].Value     = cSenID;
         RS.Fields["recTemp"].Value      = cTemp;
         RS.Fields["recTimeStamp"].Value = cTimeStamp;
         RS.Update();
         if (NewRecord)
         {
             // update with new autoincrement ID
             RS.set_Bookmark(RS.LastModified);
             cID = (short)(RS.Fields["recID"].Value ?? 0);
         }
         RS.Close();
         NewRecord = false;
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemple #5
0
        private string CheckVersion(short Ver, string DBname)
        {
            string SQL;

            DAO.Recordset RS;
            string        Result = "";

            if (Ver > cDBversion)
            {
                // higher version, program out of date
                Result = "Database version does not match, software out of date.";
            }
            else if (Ver == cDBversion)
            {
                Result = "true";
            }
            else
            {
                // lower version, update

                // close current database
                try
                {
                    cDB.Close();
                }
                catch (Exception)
                {
                }

                // copy base file to tmp file in data folder
                string NewPath  = mf.Tls.DataFolder + "\\NewTmp.mdb";
                string BasePath = mf.Tls.SettingsFolder + "\\TempMonBase.mdb";
                File.WriteAllBytes(NewPath, Properties.Resources.Base);
                FileInfo BaseFile = new FileInfo(BasePath);

                // copy current database to tmp file in data folder
                string TmpPath = mf.Tls.DataFolder + "\\OldTmp.mdb";
                try
                {
                    // delete tmp file, if it exists
                    File.Delete(TmpPath);
                }
                catch (Exception Ex)
                {
                    mf.Tls.WriteErrorLog("clsDatabase: CheckVersion: " + Ex.Message);
                }
                FileInfo OldFile = new FileInfo(DBname);
                OldFile.CopyTo(TmpPath);

                // open new tmp database and old tmp database
                DAO.Database DBnew = cDBE.OpenDatabase(NewPath, DAO.DriverPromptEnum.dbDriverNoPrompt, false, "");
                DAO.Database DBold = cDBE.OpenDatabase(TmpPath, DAO.DriverPromptEnum.dbDriverNoPrompt, false, "");

                // delete new database properties records
                SQL = "select * from tblProps";
                RS  = DBnew.OpenRecordset(SQL);
                while (!RS.EOF)
                {
                    RS.Delete();
                    RS.MoveNext();
                }
                RS.Close();

                // copy matching data from old database to new database
                if (CopyData(DBnew, DBold))
                {
                    // update database properties
                    SQL = "select * from tblProps";
                    RS  = DBnew.OpenRecordset(SQL);
                    if (RS.EOF)
                    {
                        RS.AddNew();
                    }
                    else
                    {
                        RS.Edit();
                    }
                    RS.Fields["dbType"].Value    = DBtype;
                    RS.Fields["dbVersion"].Value = cDBversion;
                    RS.Update();
                    RS.Close();

                    // copy new updated database to current database name
                    DBnew.Close();
                    DBold.Close();
                    File.Delete(DBname);    // delete current file
                    FileInfo NewFile = new FileInfo(NewPath);
                    NewFile.CopyTo(DBname); // copy new file to current file name
                    File.Delete(TmpPath);   // delete tmp copy of current file
                    File.Delete(NewPath);   // delete new file
                    Result = "true";
                }
                else
                {
                    // failed to copy, remove new database and tmp database
                    File.Delete(TmpPath);   // delete tmp copy of current file
                    File.Delete(NewPath);   // delete new file
                    Result = "Failed to update database version.";
                }
            }
            return(Result);
        }