一些自己常用的封裝的代碼

1.access數據訪問層

using System;
using System.Data;
using System.Configuration;
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;

using System.Data.OleDb;

/// <summary>
/// AccessPublicClass 的摘要說明
/// </summary>
public class AccessPublicClass
{

    //連接數據庫字符串
    private string connectionString;

    //存貯數據庫連接(保護類,只有由它派生的類纔可以訪問)
    protected OleDbConnection Connection;

    /// <summary>
    /// 構造函數:數據庫的默認連接
    /// </summary>
    public AccessPublicClass()
    {
        string connStr;
        connStr = ConfigurationSettings.AppSettings["ConnectionString"].ToString();//從web.config配置中讀取
        connectionString = connStr;

        Connection = new OleDbConnection(connectionString);
    }

    /// <summary>
    /// 構造函數:帶有參數的數據庫連接
    /// </summary>
    /// <param name="newConnectionString"></param>
    public AccessPublicClass(string newConnectionString)
    {
        connectionString = newConnectionString;
        Connection = new OleDbConnection(connectionString);
    }

    /// <summary>
    /// 獲得連接字符串
    /// </summary>
    public string ConnectionString
    {
        get
        {
            return connectionString;
        }
    }

    /// <summary>
    /// 執行SQL語句沒有返回結果,如:執行更新,刪除,插入等操作
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns>操作成功標誌</returns>
    public bool ExeSQL(string strSQL)
    {
        bool resultState = false;

        Connection.Open();
        OleDbTransaction myTrans = Connection.BeginTransaction();
        OleDbCommand command = new OleDbCommand(strSQL, Connection, myTrans);

        try
        {
            command.ExecuteNonQuery();
            myTrans.Commit();
            resultState = true;
        }
        catch
        {
            myTrans.Rollback();
            resultState = false;
        }
        finally
        {
            Connection.Close();
        }
        return resultState;
    }

    /// <summary>
    /// 執行SQL語句返回結果到DataSet中
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns></returns>
    public DataSet ReturnDataSet(string strSQL)
    {
        Connection.Open();
        DataSet dataSet = new DataSet();
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL, Connection);
        OleDbDA.Fill(dataSet, "objDataSet");

        Connection.Close();
        return dataSet;
    }

    /// <summary>
    /// 執行SQL語句返回結果到DataTable中
    /// </summary>
    /// <param name="strSql"></param>
    /// <returns></returns>
    public DataTable ReturnDataTable(string strSql)
    {
        Connection.Open();
        DataSet ds = new DataSet();
        OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSql, Connection);
        OleDbDA.Fill(ds, "objDataSet");

        Connection.Close();
        return ds.Tables["objDataSet"];
    }

    /// <summary>
    /// 執行查詢語句,同時返回查詢結果數目
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns></returns>
    public int ReturnSqlResultCount(string strSQL)
    {
        int sqlResultCount = 0;

        try
        {
            Connection.Open();
            OleDbCommand command = new OleDbCommand(strSQL, Connection);
            OleDbDataReader dataReader = command.ExecuteReader();

            while (dataReader.Read())
            {
                sqlResultCount++;
            }
            dataReader.Close();
        }
        catch
        {
            sqlResultCount = 0;
        }
        finally
        {
            Connection.Close();
        }

        return sqlResultCount;
    }

    /// <summary>
    /// 彈出窗口
    /// </summary>
    public string ModalWindow(string openAspxPage, int width, int height)
    {
        string js = string.Format("javascript:window.showModalDialog(/"{0}&rand=" + new Random().Next().ToString() + "/",window,/"status:false;dialogWidth:{1}px;dialogHeight:{2}px/")", openAspxPage, width, height);
        return js;
    }

    //***存在問題,無法解決關閉讀取器的問題***//
    ///// <summary>
    /////通過數據閱讀器讀取數據庫的信息
    ///// </summary>
    ///// <param name="sql">查詢語句</param>
    ///// <returns>返回數據閱讀器</returns>
    ///// 創建一個數據庫連接對象,並在我們使用完之後釋放對象所佔的內存空間
    //public OleDbDataReader ExecuteReader(string sql)
    //{

    //    OleDbDataReader sdr;

    //    OleDbCommand cmd;

    //    using (OleDbConnection con = new OleDbConnection(connectionString))
    //    {
    //        cmd = new OleDbCommand(sql,con);

    //        con.Open();

    //        sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);

    //        return sdr;

    //    }
    //}

    ///// <summary>
    ///// 執行SQL語句返回結果到DataReader中
    ///// </summary>
    ///// <param name="strSQL"></param>
    ///// <returns></returns>
    //public OleDbDataReader ReturnDataReader(string strSQL)
    //{
    //    Connection.Open();
    //    OleDbCommand command = new OleDbCommand(strSQL, Connection);
    //    OleDbDataReader dataReader = command.ExecuteReader(CommandBehavior.CloseConnection);
    //    Connection.Close();

    //    return dataReader;
    //}
}

 

2.dropdownlist數據綁定

    /// <summary>
    /// DropDownList數據綁定
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="drdlst"></param>
    /// <param name="one"></param>
    /// <param name="first"></param>
    public void GetDropDownListInfo(string strSql, DropDownList drdlst, string first,string one )
    {
        DataSet ds = ReturnDataSet(strSql);
        drdlst.DataSource = ds;
        drdlst.DataTextField = first;
        drdlst.DataValueField = one;
        drdlst.DataBind();
    }

3.取得系統時間並做替換成字符串

    /// <summary>
    /// 以系統時間作爲靜態頁面的名字
    /// </summary>
    /// <returns>返回一個字符串類型</returns>
    ///
    public string FileName()
    {
        //獲取當前系統時間並以字符串形式讀出來
        string filename = DateTime.Now.ToString();

        //將獲取的時間中的空格,冒號,橫槓換沒
        filename = filename.Replace("-", "");
        filename = filename.Replace(" ", "");
        filename = filename.Replace(":", "");

        return filename;
    }

 

4.過濾危險字符和保持文本的輸入格式

    /// <summary>
    /// 將準備插入數據庫的信息的危險字符進行處理
    /// </summary>
    /// <param name="obj">要被處理的信息</param>
    /// <returns>返回一個字符串</returns>
    public string KeepFormat(string obj)
    {
        string code = obj;

        code = code.Replace(",", "");
        code = code.Replace(";", "");
        code = code.Replace("'", "");
        code = code.Replace(":", "");
        code = code.Replace("/", "");
        code = code.Replace("|", "");
        code = code.Replace("?", "");
        code = code.Replace(">", "");
        code = code.Replace("<", "");
        code = code.Replace("*", "");
        code = code.Replace("(", "");
        code = code.Replace("@", "");
        code = code.Replace("!", "");
        code = code.Replace("#", "");
        code = code.Replace("$", "");
        code = code.Replace("%", "");
        code = code.Replace("^", "");
        code = code.Replace("&", "");
        code = code.Replace(")", "");
        code = code.Replace("-", "");
        code = code.Replace("+", "");
        code = code.Replace("=", "");
        code = code.Replace("{", "");
        code = code.Replace("}", "");
        code = code.Replace("[", "");
        code = code.Replace("]", "");
        code = code.Replace(" ", "");

        //將要插入的數據中的危險字符轉換成ASCII存放到數據庫中,然後去出來就可以成了空格,換行等,這樣就保證了在文本里輸入的格式

        code = code.Replace("&", "&amp;");
        code = code.Replace("<", "&lt;");
        code = code.Replace(">", "&gt;");
        code = code.Replace(((char)13).ToString(), "<br>");
        code = code.Replace(((char)32).ToString(), "&nbsp;");
        code = code.Replace(((char)9).ToString(), " &nbsp; &nbsp; &nbsp; &nbsp;");
        code = code.Replace(((char)39).ToString(), "&#39;");
        code = code.Replace(((char)34).ToString(), "&quot;");
        code = code.Replace(((char)34).ToString(), "&quot;");

        return code;
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章