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

}

你可能感兴趣的:(asp.net)