Пример #1
0
        // update fields of specified record - all fields except lastSuccess (left alone) and nextExecTime (made null) which are updated later.
        // -1 for an int or DateTime field means make it null
        public static bool UpdateRecord(int TaskScheduleIid, TableData data)
        {
            bool   Retval         = true;
            string ScheduleString = MakeSchedString(data.TimeUnit, data.IntervalNum, data.StartTime,
                                                    data.DayOfWeekMask, data.MonthOfYearMask, data.DayOfMonth, data.FirstLast);
            string sql = "UPDATE TASK_SCHEDULE SET taskId=" + data.TaskId
                         + ", taskName=" + "'" + MainClass.FixStringForSingleQuote(data.TaskName) + "'"
                         + ", argId=" + MainClass.IntToDBString(data.ArgId)
                         + ", userName="******"'" + MainClass.FixStringForSingleQuote(data.UserName) + "'"
                         + ", enabled=" + MainClass.BoolToInt(data.Enabled)
                         + ", timeUnit=" + (int)data.TimeUnit
                         + ", intervalNum=" + MainClass.IntToDBString(data.IntervalNum)
                         + ", startTime=" + MainClass.DateTimeToTimestamp(data.StartTime)
                         + ", endTime=" + MainClass.DateTimeToTimestamp(data.EndTime)
                         + ", dayOfWeekMask=" + MainClass.IntToDBString(data.DayOfWeekMask)
                         + ", monthOfYearMask=" + MainClass.IntToDBString(data.MonthOfYearMask)
                         + ", dayOfMonth=" + MainClass.IntToDBString(data.DayOfMonth)
                         + ", firstLast=" + MainClass.IntToDBString((int)data.FirstLast)
                         + ", deleteWhenDone=" + MainClass.BoolToInt(data.DeleteWhenDone)
                         + ", taskComment=" + "'" + MainClass.FixStringForSingleQuote(data.TaskComment) + "'"
                         + ", execMissedTasks=" + MainClass.BoolToInt(data.ExecMissedTasks)
                         + ", schedString=" + "'" + ScheduleString + "'"
                         + ", nextExecTime=NULL"
                         + " WHERE taskScheduleIid=" + TaskScheduleIid;

            Retval = MainClass.ExecuteSql(sql, true, TableName, "TaskSchedule", "UpdateRecord");
            return(Retval);
        }
Пример #2
0
        // insert record - all fields except lastSuccess and nextExecTime which are updated later.
        // MakeASchedString - if true, generate a string for the SchedString field. If false, use the schedString argument for the field.
        // -1 for an int arg means that DB field should be NULL
        // DateTime.MinTime for a DateTime arg means that DB field should be NULL
        // OUTPUT: NewIid - IID of inserted record
        public static bool InsertRecord(bool MakeASchedString, TableData data,
                                        out int NewIid)
        {
            bool   RetVal      = false;
            string FieldString = "taskId, taskName, argId, userName, enabled, timeUnit, intervalNum, startTime, endTime, dayOfWeekMask, monthOfYearMask, dayOfMonth, firstLast, deleteWhenDone, taskComment, execMissedTasks, schedString";
            string ValueString;
            string ScheduleString;

            NewIid = -1;

            ValueString  = MainClass.IntToDBString(data.TaskId) + ", ";
            ValueString += "'" + MainClass.FixStringForSingleQuote(data.TaskName) + "', ";
            ValueString += MainClass.IntToDBString(data.ArgId) + ", ";
            ValueString += "'" + MainClass.FixStringForSingleQuote(data.UserName) + "', ";
            ValueString += "'" + MainClass.BoolToInt(data.Enabled) + "', ";
            ValueString += MainClass.IntToDBString((int)data.TimeUnit) + ", ";
            ValueString += MainClass.IntToDBString(data.IntervalNum) + ", ";
            ValueString += MainClass.DateTimeToTimestamp(data.StartTime) + ", ";
            ValueString += MainClass.DateTimeToTimestamp(data.EndTime) + ", ";
            ValueString += MainClass.IntToDBString(data.DayOfWeekMask) + ", ";
            ValueString += MainClass.IntToDBString(data.MonthOfYearMask) + ", ";
            ValueString += MainClass.IntToDBString(data.DayOfMonth) + ", ";
            ValueString += MainClass.IntToDBString((int)data.FirstLast) + ", ";
            ValueString += MainClass.BoolToInt(data.DeleteWhenDone) + ", ";
            ValueString += "'" + MainClass.FixStringForSingleQuote(data.TaskComment) + "', ";
            ValueString += MainClass.BoolToInt(data.ExecMissedTasks) + ", ";
            if (MakeASchedString)
            {
                ScheduleString = MakeSchedString(data.TimeUnit, data.IntervalNum, data.StartTime,
                                                 data.DayOfWeekMask, data.MonthOfYearMask, data.DayOfMonth, data.FirstLast);
            }
            else
            {
                ScheduleString = data.SchedString;
            }
            ValueString += "'" + ScheduleString + "'";

            string strSqlStatement = "INSERT INTO TASK_SCHEDULE (" + FieldString + ") VALUES (" + ValueString + ")";

            RetVal = MainClass.ExecuteSql(strSqlStatement, true, TableName, "TaskSchedule", "InsertRec", out NewIid);

            return(RetVal);
        }