asp.net处女作

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.OleDb;//引入oledb
using System.Data;
using System.Collections;
using System.Windows.Forms;
using System.IO;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;


/// <summary>
/// 描述:数据访问类,业务处理类
/// 功能:提供数据访问,业务处理的方法
/// 作者:R3
/// 时间:2010-9-20 14:47:28
/// </summary>
public class SaleInfoManager
{
    HttpResponse Response = null;    
    public SaleInfoManager(HttpResponse response)
    {
        Response = response;
        //
        // TODO: Add constructor logic here
        //
    }
    //数据库连接
    private static OleDbConnection con;

    public static OleDbConnection Con
    {
        get
        {
            if (con == null)
            {
                con = new OleDbConnection
                    (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db1.mdb;"+
                    "Persist Security Info=True");
            }
            else if (con.State == ConnectionState.Broken)
            {
                con.Close();
                con.Open();
            }
            else if (con.State == ConnectionState.Closed )
            {
                con.Open();
            }
            return con;
        }
    }


    //导出文件
    public void Export(string FileName, GridView gridview)
    {
        Response.Charset = "GB2312";
        Response.ContentEncoding = System.Text.Encoding.UTF7;
        Response.AppendHeader("Content-Disposition", "attachment;filename="
            + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
        Response.ContentType = "application/ms-excel";//导出excel文件
        //this.EnableViewState = false;
        StringWriter tw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(tw);
        gridview.RenderControl(hw);
        Response.Write(tw.ToString());
        Response.End();
    }


    #region GetAllKnowledge  得到所有的知识库
    public DataTable GetAllKnowledge()
    {
        string sql = "select * from XWE_xknowledge";
        DataTable dt = GetBySQL(sql);
        return dt;
    }
    #endregion


    #region UpdateKnowledge 修改知识库
    public static int UpdateKnowledge(int id,string title,string content)
    {
        string sql = string.Format("update XWE_Xknowledge set x_title='{0}',"
        +" x_content='{1}' where x_knowid={2} ",title,content,id);
        int rs = ExcuteCmd(sql);
        return rs;
    }
    #endregion


    #region CheckDBExistsIp  检查IP是否在数据库中存在
    public static bool CheckDBExistsIp(string ip,int id)
    {
        string checkTime = DateTime.Today.ToString("yyyy/MM/dd");
        string sql = string.Format("select top 1 * from xwe_ip "
        +" where  x_id={0} and x_ip='{1}' and x_clickTime=#{2}# ",id, ip, checkTime);
        DataTable dt = GetBySQL(sql);
        if (dt.Rows.Count==0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    #endregion


    #region CheckDBExistsIp  检查IP是否在数据库中存在
    public static bool CheckDBExistsFlow(string ip)
    {
        string checkTime = DateTime.Today.ToString("yyyy/MM/dd");
        string sql = string.Format("select top 1 * from xwe_Flow "
        +" where x_Fip='{0}' and x_Ftime=#{1}# ",  ip, checkTime);
        DataTable dt = GetBySQL(sql);
        if (dt.Rows.Count == 0)
        {
            return false;
        }
        else
        {
            return true;
        }
    }
    #endregion


    #region  CheckIpExists  检查IP是否存在,是否点击超过2次
    public static bool CheckIp(string ip, HttpApplicationState app)
    {
        int maxIpNum = 1;//设置最大一天可以访问5次
        Hashtable hsIp;
        //当application不存在,或者日期不对的时候,重新设定
        if (app["IpHashTable"] == null || app["IpHashTableDate"]
            == null || app["IphashTableDate"].ToString() 
            != DateTime.Now.ToString("yyyyMMdd"))
        {
            app.Lock(); //锁定,排除
            app["IpHashTable"] = new Hashtable(); //初始化IP和次数
            app["IpHashTableDate"] = DateTime.Now.ToString("yyyyMMdd");//初始化日期
            app.UnLock();//解锁
        }
        hsIp = (Hashtable)app["IpHashTable"];
        if (hsIp[ip] == null)//当Ip在application中不存在
        {
            hsIp[ip] = 1;
            return true;
        }

        //如果没到5次
        hsIp[ip] = Convert.ToInt32(hsIp[ip]) + 1;
        if (Convert.ToInt32(hsIp[ip]) > maxIpNum)
        {
            return false;
        }
        else
        {
            return true;
        }

    }
    #endregion


    #region     GetBySQL   查询-返回datatable
    public static DataTable GetBySQL(string sql)
    {
        using (OleDbCommand cmd = new OleDbCommand(sql, Con))
        {//执行命令
            using (OleDbDataAdapter da = new OleDbDataAdapter(cmd))
            {//装载结果
                using (DataTable dt = new DataTable())//创建datata
                {
                    da.Fill(dt);//填充datatable
                    return dt;//返回结果
                }
            }
        }
    }
    #endregion



    #region
    /// <summary>
    /// 后台小类分页
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public static IList<_P_Category> FillSmallPager(int pagesize,int start)
    {
        string s_p=string.Empty;
        if (start == 0)
        {
            s_p = string.Format
            ("select c_id,c_name from XWE_P_Category ");
        }
        else
        {
            s_p = string.Format
            ("select top {0} c_id,c_name from XWE_P_Category where (c_id not in (select top {1} c_id from  XWE_P_Category))"
            , pagesize, start);
        }
        
        IList<_P_Category> list = new List<_P_Category>();
        _P_Category _p_c = null;
        DataTable dt = SaleInfoManager.GetBySQL(s_p);
        foreach (DataRow dr in dt.Rows)
        {
            _p_c = new _P_Category();
            _p_c.C_id = (int)dr["c_id"];
            _p_c.C_name = (string)dr["c_name"];
            list.Add(_p_c);
        }
        return list;
    }
    #endregion



    #region
    /// <summary>
    /// 后台产品大类分页
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public static IList<Bigtype> FillBigPager(int pagesize, int start)
    {
        string s_p = string.Empty;
        if (start == 0)
        {
            s_p = string.Format
            ("select * from XWE_bigtype ");
        }
        else
        {
            s_p = string.Format
            ("select top {0} B_id,B_name,b_cid from XWE_bigtype where (B_id not in (select top {1} b_id from  XWE_bigtype where b_cid=1))"
            , pagesize, start);
        }

        IList<Bigtype> list = new List<Bigtype>();
        Bigtype _p_c = null;
        DataTable dt = SaleInfoManager.GetBySQL(s_p);
        foreach (DataRow dr in dt.Rows)
        {
            _p_c = new Bigtype();
            _p_c.B_id = (int)dr["b_id"];
            _p_c.B_name = (string)dr["b_name"];
            _p_c.B_cid = (int)dr["b_cid"];
            list.Add(_p_c);
        }
        return list;
    }
    #endregion


    #region
    /// <summary>
    /// 删除方法
    /// </summary>
    /// <param name="id"></param>
    /// <param name="num"></param>
    /// <returns></returns>
    public static bool DeleteById(int id, int num)
    {
        string s_d = string.Empty;
        switch (num)
        {
            case 1:
                  s_d=string.Format (
                      "delete from XWE_bigtype where (b_id={0})",id
                      );
                break;
            case 2:
                s_d = string.Format(
                     "delete from XWE_P_Category where (c_id={0})", id
                     );
                break;
            default:
                break;
        }
        int rs=SaleInfoManager.ExcuteCmd(s_d);
        return rs == 1 ? true : false;
    }
    #endregion


    #region
    /// <summary>
    /// 更新产品小类
    /// </summary>
    /// <param name="id"></param>
    /// <param name="name"></param>
    /// <returns></returns>
    public static bool UpdateSmallType(int id,string name,int num,int b_id)
    {
         string s_u =string.Empty;
        switch (num)
        {
            case 1:
                s_u = string.Format("update XWE_P_Category set c_name='{0}' where c_id={1}",name,id);
                break;
            case 2:
                s_u = string.Format("update XWE_bigtype set b_name='{0}',b_cid={1} where b_id={2}", name,b_id,id);
                break;
            default:
                break;
        }
      
        int Result = SaleInfoManager.ExcuteCmd(s_u);
        return Result ==1 ? true : false;
    }
    #endregion



    #region     ExcuteCmd   执行修改,删除,添加
    public static int ExcuteCmd(string sql)
    {
        OleDbCommand cmd = new OleDbCommand(sql, Con);//执行命令        
        int rs = cmd.ExecuteNonQuery();//返回执行结果
        //con.Close();
        return rs;
    }
    #endregion


    #region     LoginByUserName     销售员登录
    public static DataTable LoginByUserName(string x_name)
    {
        string loginSql = string.Format
            ("select * from XWE_Xsbm where x_name='{0}'", x_name);
        DataTable dt = GetBySQL(loginSql);
        return dt;
    }
    #endregion


    #region     UpdateSaleInfo      修改销售员信息
    public static int UpdateSaleInfo(string sql)
    {
        int rs = ExcuteCmd(sql);
        return rs;
    }
    #endregion


    #region     GetAllSaleInfo      查询所有销售员信息
    public static DataTable GetAllSaleInfo()
    {
        string sql = "select * from XWE_Xsbm order by x_auctionMoney desc";
        return GetBySQL(sql);
    }
    #endregion


    #region UpdatePwd       修改密码
    public static int UpdatePwd(string pwd, string userName)
    {
        string sql = string.Format("update XWE_Xsbm set x_pwd='{0}'"
                               + " where x_name='{1}'", pwd, userName);
        return ExcuteCmd(sql);
    }
    #endregion


    #region GetSaleInfoByUserName       根据用户名,密码查询
    public static DataTable GetSaleInfoByUserName(string userName, string Pwd)
    {
        string sql = string.Format("select * from XWE_Xsbm where x_name='{0}'"
                                    +" and x_pwd='{1}'", userName, Pwd);
        return GetBySQL(sql);
    }
    #endregion


    #region IsNumber 判断是否是数字
    public static bool IsNuber(string number)
    {
        bool isCheck = true;
        if (string.IsNullOrEmpty(number))
        {
            isCheck = false;
        }
        else
        {
            char[] charNumber = number.ToCharArray();
            for (int i = 0; i < charNumber.Length; i++)
            {
                if (!char.IsNumber(charNumber[i]))
                {
                    isCheck = false;
                    break;
                }
            }
        }
        return isCheck;
    }
    #endregion


    #region  GetIp   获得IP地址
    public static string GetIp()
    {
        if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_VIA"] != null)
        {
            return System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].
                        Split(new char[] { ',' })[0];
        }
        else
        {
            return System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
        }
    }
    #endregion


    #region   ExportDataGridViewToExcel 导出到Excel
    public static void ExportDataGridViewToExcel(DataGridView dataGridview1)
    {
        SaveFileDialog saveFileDialog = new SaveFileDialog();
        saveFileDialog.Filter = "Execl  files  (*.xls)|*.xls";
        saveFileDialog.FilterIndex = 0;
        saveFileDialog.RestoreDirectory = true;
        saveFileDialog.CreatePrompt = true;
        saveFileDialog.Title = "导出Excel文件到";

        DateTime now = DateTime.Now;
        saveFileDialog.FileName = now.Year.ToString().PadLeft(2) 
            + now.Month.ToString().PadLeft(2, '0') + now.Day.ToString().PadLeft(2, '0') 
            + "-" + now.Hour.ToString().PadLeft(2, '0') + now.Minute.ToString().PadLeft(2, '0')
            + now.Second.ToString().PadLeft(2, '0');
        DialogResult dr = saveFileDialog.ShowDialog();
        //如果选确定 执行 否则不执行了解
        if (dr == DialogResult.OK)
        {

            Stream myStream;
            myStream = saveFileDialog.OpenFile();

            StreamWriter sw = new StreamWriter
                (myStream, System.Text.Encoding.GetEncoding("gb2312"));
            string str = "";
            try
            {
                //写标题       
                for (int i = 0; i < dataGridview1.ColumnCount; i++)
                {
                    if (i > 0)
                    {
                        str += "\t";
                    }
                    str += dataGridview1.Columns[i].HeaderText;
                }
                sw.WriteLine(str);
                //写内容    
                for (int j = 0; j < dataGridview1.Rows.Count; j++)
                {
                    string tempStr = "";
                    for (int k = 0; k < dataGridview1.Rows[j].Cells.Count; k++)
                    {
                        if (k > 0)
                        {
                            tempStr += "\t";
                        }
                        if (dataGridview1.Rows[j].Cells[k].Value != null)
                        {
                            tempStr += dataGridview1.Rows[j].Cells[k].Value.ToString();
                        }
                    }
                    sw.WriteLine(tempStr);
                }

                sw.Close();
                myStream.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                sw.Close();
                myStream.Close();
            }
        }
    }
    #endregion
}
原文地址:https://www.cnblogs.com/307914070/p/1959877.html