// 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); }
// 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); }