获取当天、本周、本月相关的数据

2024-02-07 08:58

本文主要是介绍获取当天、本周、本月相关的数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在页面上用RadioButtonList控件,HTML代码如下:
<% @ Page Language="C#" AutoEventWireup="true" CodeFile="LoginLog.aspx.cs" Inherits="Admin_LoginLog"
    StylesheetTheme
="Default" Theme="Default" 
%>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< html  xmlns ="http://www.w3.org/1999/xhtml" >
< head  runat ="server" >
    
< title > 登录日志 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
        
< fieldset >
            
< legend > 相关设置 </ legend >
            
< div  id ="tabsF" >
                
< ul >
                    
< li >< href ="Default.aspx"  title ="返回" >< span > 返回 </ span ></ a ></ li >
                
</ ul >
            
</ div >
        
</ fieldset >
        
< fieldset >
            
< legend > 登录日志 </ legend >
            
<!-- 注:此单选列表的值,不要轻易进行修改,
            由于,它和后台类库有直接的关联,进行修改
            可能会造成,不能正确地查询数据。
            
-->
            
< asp:RadioButtonList  ID ="rbtnLoginLog"  runat ="server"  RepeatDirection ="Horizontal"
                AutoPostBack
="True"  OnSelectedIndexChanged ="rbtnLoginLog_SelectedIndexChanged" >
                
< asp:ListItem  Value ="0"  Selected ="True" > 今天 </ asp:ListItem >
                
< asp:ListItem  Value ="1" > 本周 </ asp:ListItem >
                
< asp:ListItem  Value ="2" > 本月 </ asp:ListItem >
                
< asp:ListItem  Value ="3" > 本年 </ asp:ListItem >
                
< asp:ListItem  Value ="4" > 全部 </ asp:ListItem >
            
</ asp:RadioButtonList >
            
< asp:Button  ID ="btnOut"  runat ="server"  Text ="导出"  OnClick ="btnOut_Click"   />
            
< asp:Button  ID ="btnDel"  runat ="server"  Text ="删除"  OnClick ="btnDel_Click"   />
            
< asp:GridView  ID ="gvLoginLog"  runat ="server"  AutoGenerateColumns ="False"  SkinID ="Default_GridView" >
                
< Columns >
                    
< asp:BoundField  DataField ="LoginTime"  HeaderText ="登录时间"   />
                    
< asp:BoundField  DataField ="UserName"  HeaderText ="登录用户"   />
                    
< asp:BoundField  DataField ="LoginIP"  HeaderText ="登录地址"   />
                
</ Columns >
            
</ asp:GridView >
        
</ fieldset >
    
</ form >
</ body >
</ html >
 网页后面的页面代码如下:
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;

public   partial   class  Admin_LoginLog : System.Web.UI.Page
{
    
public WebUtility.OutExcel myOut = new WebUtility.OutExcel();
    WebUtility.SysUser user 
= new WebUtility.SysUser();
    
protected void Page_Load(object sender, EventArgs e)
    
{
        
        
if (!Page.IsPostBack)
        
{
            
//默认显示的日志是当天的
            this.gvLoginLog.DataSource = user.DataSetLoginLog(WebUtility.SysUser.LoginLogType.today);
            
this.gvLoginLog.DataBind();
        }

    }


    
protected void rbtnLoginLog_SelectedIndexChanged(object sender, EventArgs e)
    
{
        
//通过枚举,进行设置数据源
        
//注: 此数据源和枚举值和页面的selectedvalue值保持一致
        this.gvLoginLog.DataSource = user.DataSetLoginLog((WebUtility.SysUser.LoginLogType)Convert.ToInt32(this.rbtnLoginLog.SelectedValue));
        
this.gvLoginLog.DataBind();
    }

    
protected void btnDel_Click(object sender, EventArgs e)
    
{
        WebUtility.Define.MessageBox(
this.Page,"您确定删除 "+this.rbtnLoginLog.SelectedItem.Text+" 的登录日志吗?");
        
//根据选择进行删除操作
        user.DeleteLoginLog((WebUtility.SysUser.LoginLogType)Convert.ToInt32(this.rbtnLoginLog.SelectedValue));
        
//设置数据源,进行数据绑定
        this.gvLoginLog.DataSource = user.DataSetLoginLog((WebUtility.SysUser.LoginLogType)Convert.ToInt32(this.rbtnLoginLog.SelectedValue));
        
this.gvLoginLog.DataBind();


    }

    
protected void btnOut_Click(object sender, EventArgs e)
    
{
        
//导出日志到Excel
        System.Data.DataTable dt = user.DataSetLoginLog(WebUtility.SysUser.LoginLogType.all).Tables[0];
        
string DownloadPath = Server.MapPath("."+ "//" + string.Format("登录日志备份{0}.XLS",System.DateTime.Now.ToShortDateString());
        
//导出
        this.myOut.Export(dt, DownloadPath);
        
//以下代码将 pdf 文件写入客户端浏览器。
        Response.ClearContent();
        Response.ClearHeaders();
        
//作为附件下载
        Response.AddHeader("Content-Disposition""attachment; filename=" + Server.UrlEncode(DownloadPath));
        Response.ContentType 
= "application/ms-excel";
        Response.WriteFile(DownloadPath);
        Response.Flush();
        Response.Close();
        
//从磁盘删除导出的文件
        System.IO.File.Delete(DownloadPath);
    }

}

相关的后台类库代码如下:
/// <summary>
        
/// 登录日志类型
        
/// </summary>

         public   enum  LoginLogType
        
{today,week,month,year,all} ;
        
/// <summary>
        
/// 登陆日志
        
/// </summary>
        
/// <param name="log">登录日志类型</param>
        
/// <returns>数据集</returns>

         public  DataSet DataSetLoginLog(LoginLogType log)
        
{
            
string strSql = "";
            
switch ((int)log)
            
{
                
case 0:
                    strSql 
= "Select LoginTime,UserName,LoginIP From vw_Login_Users  where datename(day,logintime) = datename(day,getdate())";
                    
break;
                
case 1:
                    strSql
="Select LoginTime,UserName,LoginIP From vw_Login_Users  where datename(week,logintime) = datename(week,getdate())";
                    
break;
                
case 2:
                    strSql
="Select LoginTime,UserName,LoginIP From vw_Login_Users  where datename(month,logintime) = datename(month,getdate())";
                    
break;
                
case 3:
                    strSql
="Select LoginTime,UserName,LoginIP From vw_Login_Users  where datename(year,logintime) = datename(year,getdate())";
                    
break;
                
case 4:
                    strSql 
= "Select LoginTime,UserName,LoginIP From vw_Login_Users";
                    
break;
                
default:
                    strSql
="Select LoginTime,UserName,LoginIP From vw_Login_Users  where datename(day,logintime) = datename(day,getdate())";
                    
break;
            }

            
return base.ExecuteSQLDataSet(strSql, "loginlogtest");

        }

        
/// <summary>
        
/// 删除登录日志
        
/// </summary>
        
/// <param name="logType">登录日志类型</param>
        
/// <returns>删除影响的行数</returns>

         public   int  DeleteLoginLog(LoginLogType logType)
        
{
            
string strSql = "";
            
switch ((int)logType)
            
{
                
case 0:
                    strSql 
= "Delete From Login_Log  where datename(day,logintime) = datename(day,getdate())";
                    
break;
                
case 1:
                    strSql 
= "Delete From Login_Log  where datename(week,logintime) = datename(week,getdate())";
                    
break;
                
case 2:
                    strSql 
= "Delete From Login_Log  where datename(month,logintime) = datename(month,getdate())";
                    
break;
                
case 3:
                    strSql 
= "Delete From Login_Log  where datename(year,logintime) = datename(year,getdate())";
                    
break;
                
case 4:
                    strSql 
= "Delete From Login_Log";
                    
break;
                
default:
                    strSql 
= "Delete From Login_Log  where datename(day,logintime) = datename(day,getdate())";
                    
break;
            }

            
return base.ExecuteNonQuery(strSql, null);
        }

      以上实现方法,主要是利用枚举类型,将枚举类型的值和页面的RadioButtonList控件的Value值,设置同步,这样,当我们选择不同的类型时,通过后台的类库,获取不同的数据集。

这篇关于获取当天、本周、本月相关的数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/687198

相关文章

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

C++中RAII资源获取即初始化

《C++中RAII资源获取即初始化》RAII通过构造/析构自动管理资源生命周期,确保安全释放,本文就来介绍一下C++中的RAII技术及其应用,具有一定的参考价值,感兴趣的可以了解一下... 目录一、核心原理与机制二、标准库中的RAII实现三、自定义RAII类设计原则四、常见应用场景1. 内存管理2. 文件操

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061