public static DataTable GetPrePage(int i_key, int i_range_type, DateTime dt_start, DateTime dt_end, int i_pagenum, int i_pagesize, int i_total) { DateTime now = DateTime.Now; DataTable dataTable = new DataTable(); DataColumn dataColumn = new DataColumn("insert_time"); dataColumn.DataType = Type.GetType("System.String"); dataTable.Columns.Add(dataColumn); DataColumn dataColumn2 = new DataColumn("eventid"); dataColumn2.DataType = Type.GetType("System.String"); dataTable.Columns.Add(dataColumn2); DataColumn dataColumn3 = new DataColumn("parametervalue"); dataColumn3.DataType = Type.GetType("System.String"); dataTable.Columns.Add(dataColumn3); DataColumn dataColumn4 = new DataColumn("id"); dataColumn4.DataType = Type.GetType("System.Int32"); dataTable.Columns.Add(dataColumn4); DBConn dBConn = null; DbCommand dbCommand = new OleDbCommand(); long arg_BF_0 = dt_start.Ticks; long arg_C7_0 = dt_end.Ticks; string text = ""; switch (i_range_type) { case 0: text = string.Concat(new object[] { " 2=2 id > ", i_key, " and ticks <= #", dt_end.ToString("yyyy-MM-dd HH:mm:ss"), "# " }); break; case 1: text = string.Concat(new object[] { " 2=2 id > ", i_key, " and ticks >= #", dt_start.ToString("yyyy-MM-dd HH:mm:ss"), "# and ticks <= #", dt_end.ToString("yyyy-MM-dd HH:mm:ss"), "# " }); break; case 2: text = string.Concat(new object[] { " 2=2 id > ", i_key, " and (ticks <= #", dt_start.ToString("yyyy-MM-dd HH:mm:ss"), "# or ticks >= #", dt_end.ToString("yyyy-MM-dd HH:mm:ss"), "# )" }); break; } try { dBConn = DBConnPool.getLogConnection(); if (dBConn.con != null) { dbCommand = DBConn.GetCommandObject(dBConn.con); dbCommand.CommandType = CommandType.Text; long num = 0L; long num2 = 0L; DataTable dataTable2 = new DataTable(); string commandText; if (i_pagenum * i_pagesize > i_total) { int num3 = i_pagenum * i_pagesize - i_total; commandText = string.Concat(new object[] { "select top ", i_pagesize - num3, " id from (select top ", i_pagesize - num3, " id from logrecords where ", text, " order by id asc) order by id desc" }); } else { commandText = string.Concat(new object[] { "select id from ( select top ", i_pagesize, " id from logrecords where ", text, " order by id asc ) order by id desc" }); } dbCommand.CommandText = commandText; if (DBUrl.SERVERMODE) { dbCommand.CommandText = dbCommand.CommandText.Replace("#", "'"); } DbDataReader dbDataReader = dbCommand.ExecuteReader(); if (dbDataReader.HasRows) { dataTable2 = DBConn.ConvertOleDbReaderToDataTable(dbDataReader); } dbDataReader.Close(); DataRow[] array = dataTable2.Select("", "id DESC"); if (array.Length > 0) { num2 = Convert.ToInt64(array[0]["id"]); num = Convert.ToInt64(array[array.Length - 1]["id"]); } dbCommand.CommandText = string.Concat(new object[] { "select * from logrecords where id >= ", num, " and id <= ", num2, " order by id desc" }); if (DBUrl.SERVERMODE) { dbCommand.CommandText = dbCommand.CommandText.Replace("#", "'"); } DbDataReader dbDataReader2 = dbCommand.ExecuteReader(); while (dbDataReader2.Read()) { string value = Convert.ToDateTime(dbDataReader2.GetValue(1)).ToString("yyyy-MM-dd HH:mm:ss"); string @string = dbDataReader2.GetString(2); string string2 = dbDataReader2.GetString(3); int num4 = Convert.ToInt32(dbDataReader2.GetValue(0)); DataRow dataRow = dataTable.NewRow(); dataRow["insert_time"] = value; dataRow["eventid"] = @string; dataRow["parametervalue"] = string2; dataRow["id"] = num4; dataTable.Rows.Add(dataRow); } dbDataReader2.Close(); } } catch (Exception ex) { DebugCenter.GetInstance().appendToFile("DBERROR~~~~~~~~~~~DBERROR : " + ex.Message + "\n" + ex.StackTrace); } finally { try { dbCommand.Dispose(); } catch { } if (dBConn != null) { dBConn.close(); } } Console.WriteLine("million sencods is : " + (DateTime.Now - now).TotalMilliseconds.ToString()); return(dataTable); }