예제 #1
0
        //提交查询
        private void btnQuery_Click(object sender, EventArgs e)
        {
            objLog = new LoginLogPageQuery()
            {
                PageSize  = Convert.ToInt32(this.cboPageSize.Text),
                BeginTime = Convert.ToDateTime(this.dtpStart.Text),
                EndTime   = Convert.ToDateTime(this.dtpEnd.Text).AddDays(1.0)
            };
            try
            {
                //获取数据总量
                objLog.RecordCount       = objPageQuery.GetRecordCount(objLog);
                this.lblRecordCount.Text = objLog.RecordCount.ToString();
                //获取分页DataSet
                objDS = objPageQuery.GetLoginLogPageQueryDS(objLog);
                this.dgvLogs.DataSource = objDS.Tables[objLog.CurrentPage];
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据库发生错误,请检查连接或联系管理员!", "错误提示");
                new ErrorLogManager().ErrorLog(new ErrorLog()
                {
                    LoginId      = Program.objCurrentAdmin.LoginId,
                    Operate      = Operate.ErrorHappenedWhenLoginLogPageQuery,
                    ErrorMessage = ex.Message
                });
                return;
            }

            //计算当前页
            this.lblCurrentPage.Text = (objLog.CurrentPage + 1).ToString();
            //计算总页数
            int pageCount = objLog.RecordCount / objLog.PageSize;

            objLog.PageCount       = objLog.RecordCount % objLog.PageSize == 0 ? pageCount : pageCount + 1;
            this.lblPageCount.Text = objLog.PageCount.ToString();

            if (objLog.PageCount == 0)
            {
                MessageBox.Show("该查询下无数据!", "查询提示");
                return;
            }
            //所有按钮开启
            this.btnFirst.Enabled    = true;
            this.btnNext.Enabled     = true;
            this.btnPrevious.Enabled = true;
            this.btnLast.Enabled     = true;
            this.btnGoTo.Enabled     = true;
            //关闭不需要的按钮
            if (objLog.PageCount == 1)
            {
                this.btnFirst.Enabled    = false;
                this.btnNext.Enabled     = false;
                this.btnPrevious.Enabled = false;
                this.btnLast.Enabled     = false;
                this.btnGoTo.Enabled     = false;
            }
        }
        /// <summary>
        /// 查询总数据量
        /// </summary>
        /// <param name="objLog"></param>
        /// <returns></returns>
        public int GetRecordCount(LoginLogPageQuery objLog)
        {
            string sql = "select count(*) from Loginlogs where LoginTime between @BeginTime and @EndTime";

            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@BeginTime", objLog.BeginTime),
                new SqlParameter("@EndTime", objLog.EndTime)
            };
            try
            {
                return(Convert.ToInt32(SQLHelper.GetSingleResult(sql, parameters)));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        /// <summary>
        /// 使用存储过程分页查询LoginLogs
        /// </summary>
        /// <param name="objLog"></param>
        /// <returns></returns>
        public DataSet GetLoginLogPageQuery(LoginLogPageQuery objLog)
        {
            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter("@PageSize", objLog.PageSize),
                new SqlParameter("@RecordCount", objLog.RecordCount),
                new SqlParameter("@BeginTime", objLog.BeginTime),
                new SqlParameter("@EndTime", objLog.EndTime)
            };

            try
            {
                return(SQLHelper.GetDataSetByProcedure("usp_LoginLogsPagingQuery", parameters));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
 public int GetRecordCount(LoginLogPageQuery objLog)
 {
     return(objPageQuery.GetRecordCount(objLog));
 }
 public DataSet GetLoginLogPageQueryDS(LoginLogPageQuery objLog)
 {
     return(objPageQuery.GetLoginLogPageQuery(objLog));
 }