public static string GetSelectCommand(uint unTargetID, uint unAccountID, bool bFailedOnly, DateTime?ndtStartTimeStamp, DateTime?ndtEndTimeStamp)
        {
            StringBuilder sb = new StringBuilder();
            //string strSelectCommand = @"SELECT LogID, TargetID, TimeStamp, Status, Message, ErrorCode, LocationID, ResponseTime FROM TargetLog";
            string strSeparatorWord = @" WHERE ";
            string strAnd           = @" AND ";

            sb.Append(@"SELECT tl.LogID, tl.TargetID, tl.TimeStamp, tl.Status, tl.Message, tl.ErrorCode, tl.LocationID, tl.ResponseTime FROM TargetLog tl");

            if (unTargetID > 0)
            {
                sb.Append(strSeparatorWord);
                sb.Append(string.Format(@"tl.TargetID={0}", unTargetID));
                strSeparatorWord = strAnd;
            }
            else if (unAccountID > 0)
            {
                sb.Append(@", Targets t");
                sb.Append(strSeparatorWord);
                sb.Append(string.Format(@"tl.TargetID=t.TargetID AND t.AccountID={0}", unAccountID));
                strSeparatorWord = strAnd;
            }

            if (bFailedOnly)
            {
                sb.Append(strSeparatorWord);
                sb.Append(@"tl.Status LIKE 'FAIL'");
                strSeparatorWord = strAnd;
            }

            if (ndtStartTimeStamp.HasValue)
            {
                sb.Append(strSeparatorWord);
                sb.Append(string.Format(@"tl.TimeStamp >= {0}", MySqlUtils.DateTimeToDatabaseString(ndtStartTimeStamp.Value)));
                strSeparatorWord = strAnd;
            }

            if (ndtEndTimeStamp.HasValue)
            {
                sb.Append(strSeparatorWord);
                sb.Append(string.Format(@"tl.TimeStamp <= {0}", MySqlUtils.DateTimeToDatabaseString(ndtEndTimeStamp.Value)));
                strSeparatorWord = strAnd;
            }

            sb.Append(@" ORDER BY tl.TimeStamp;");
            return(sb.ToString());
        }
示例#2
0
        public static void Main(string[] args)
        {
            Console.WriteLine(@"GeneralTestApp: Begin");

            try
            {
                /*
                 * // Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
                 * const string strConnectionString = @"Server=localhost;Database=flare;Uid=flare;Pwd=tomtom7";
                 *
                 * Console.WriteLine(@"Attempting to connect to MySQL database server...");
                 *
                 * using (MySqlConnection con = new MySqlConnection(strConnectionString))
                 * {
                 *  con.Open();
                 *  Console.WriteLine(string.Format(@"Connected to MySQL database server version {0}", con.ServerVersion));
                 *  con.Close();
                 * }
                 */

#if USE_MYSQL_DATABASE
                ConnectToMySqlDatabase();
#endif

#if TEST_STRING_FORMAT_LEADING_ZEROES
                Console.WriteLine(string.Format(@"Leading zero test: '{0:0000}'", 13));
#endif

#if TEST_WRITE_FORMATTED_DATETIME
                DateTime dt = DateTime.Now;

                Console.WriteLine(string.Format(@"It is now '{0:0000}-{1:00}-{2:00} {3:00}:{4:00}:{5:00}'",
                                                dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second));
#endif

#if TEST_PARSE_STRING_AS_DATETIME
                DateTime dt = DateTime.Now;

                Console.WriteLine(dt.ToString());

                string strDateTimeAsDatabaseString = MySqlUtils.DateTimeToDatabaseString(dt);

                Console.WriteLine(strDateTimeAsDatabaseString);

                string strDateTimeAsString = strDateTimeAsDatabaseString.Substring(1, strDateTimeAsDatabaseString.Length - 2);

                Console.WriteLine(strDateTimeAsString);

                DateTime dt2 = DateTime.Parse(strDateTimeAsString);

                Console.WriteLine(dt2.ToString());
#endif

#if TEST_PING
                Ping(args);
#endif
            }
            catch (Exception ex)
            {
                Console.WriteLine(string.Format(@"{0} caught: {1}", ex.GetType().FullName, ex.Message));
            }

            Console.WriteLine(@"GeneralTestApp: End");
        }