Ejemplo n.º 1
0
        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);
        }