asp.net常用類--Access數據操作類

 OleDbHelper.cs

using System;
using System.Web;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.ComponentModel;

namespace OleDbHelper
{
    public class OleDbHelper
    {
        /// 連接數據源
        private OleDbConnection MyConn = null;
        private readonly string RETURNVALUE = "RETURNVALUE";

        /// <summary>
        /// 打開數據庫連接.
        /// </summary>
        private void Open()
        {
            // 打開數據庫連接
            if (MyConn == null)
            {
                MyConn = new OleDbConnection(ConfigurationManager.AppSettings["OLEDBCONNECTIONSTRING"].ToString() + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["dbPath"]));
            }
            if (MyConn.State == ConnectionState.Closed)
            {
                try
                {
                    ///打開數據庫連接
                    MyConn.Open();
                }
                catch (Exception ex)
                {
                    SystemError.CreateErrorLog(ex.Message);
                }
                finally
                {
                    ///關閉已經打開的數據庫連接    
                }
            }
        }

        /// <summary>
        /// 關閉數據庫連接
        /// </summary>
        public void Close()
        {
            ///判斷連接是否已經創建
            if (MyConn != null)
            {
                ///判斷連接的狀態是否打開
                if (MyConn.State == ConnectionState.Open)
                {
                    MyConn.Close();
                }
            }
        }

        /// <summary>
        /// 釋放資源
        /// </summary>
        public void Dispose()
        {
            // 確認連接是否已經關閉
            if (MyConn != null)
            {
                MyConn.Dispose();
                MyConn = null;
            }
        }

        private OleDbCommand TrySqlCommand(string cmdText)
        {
            OleDbCommand cmd = new OleDbCommand(cmdText, MyConn);
            cmd.ExecuteNonQuery();
            return cmd;
        }
        private OleDbCommand CreateSQLCommand(string cmdText)
        {
            Open();
            OleDbCommand cmd = new OleDbCommand(cmdText, MyConn);
            return cmd;
        }
        public void TryCmd(string cmdText)
        {
            OleDbCommand cmd = TrySqlCommand(cmdText);
        }
        public void RunCmd(string cmdText, out OleDbDataReader dataReader)
        {
            ///創建Command
            OleDbCommand cmd = CreateSQLCommand(cmdText);

            try
            {
                ///讀取數據
                dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                dataReader = null;
                ///記錄錯誤日誌
                SystemError.CreateErrorLog(ex.Message);
            }
        }
        //創建ADAPTER
        private OleDbDataAdapter CreateProcDataAdapter(string cmdText)
        {
            ///打開數據庫連接
            Open();
            ///設置SqlDataAdapter對象
            OleDbDataAdapter da = new OleDbDataAdapter(cmdText, MyConn);
            da.SelectCommand.CommandType = CommandType.Text;
            return da;
        }

    }

}
SystemError.cs

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;

namespace OleDbHelper
{
    /// <summary>
    /// 錯誤處理函數,用於記錄錯誤日誌
    /// </summary>
    public class SystemError
    {
        //記錄錯誤日誌位置
        private static string m_fileName = System.Web.HttpContext.Current.Server.MapPath("Systemlog.log");

        public static String FileName
        {
            get
            {
                return (m_fileName);
            }
            set
            {
                if (value != null || value != "")
                {
                    m_fileName = value;
                }
            }
        }

        /// <summary>
        /// 記錄日誌至文本文件
        /// </summary>
        /// <param name="message">記錄的內容</param>
        public static void CreateErrorLog(string message)
        {
            if (File.Exists(m_fileName))
            {
                ///如果日誌文件已經存在,則直接寫入日誌文件
                StreamWriter sr = File.AppendText(FileName);
                sr.WriteLine("/n");
                sr.WriteLine(DateTime.Now.ToString() + message);
                sr.Close();
            }
            else
            {
                ///創建日誌文件
                StreamWriter sr = File.CreateText(FileName);
                sr.Close();
            }
        }
    }
}
SystemTools.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace OleDbHelper
{
    public class SystemException : Exception
    {
        /// <summary>
        /// 包含系統Excepton
        /// </summary>
        public SystemException(string source, string message, Exception inner)
            : base(message, inner)
        {
            base.Source = source;
        }

        /// <summary>
        /// 不包含系統Excepton
        /// </summary>   
        public SystemException(string source, string message)
            : base(message)
        {
            base.Source = source;
        }
    }

    /// <summary>
    /// 處理網頁中的HTML代碼,並消除危險字符
    /// </summary>
    public class SystemHTML
    {
        private static string HTMLEncode(string fString)
        {
            if (fString != string.Empty)
            {
                ///替換尖括號
                fString.Replace("<", "&lt;");
                fString.Replace(">", "&rt;");
                ///替換引號
                fString.Replace(((char)34).ToString(), "&quot;");
                fString.Replace(((char)39).ToString(), "&#39;");
                ///替換空格
                fString.Replace(((char)13).ToString(), "");
                ///替換換行符
                fString.Replace(((char)10).ToString(), "<BR> ");
            }
            return (fString);
        }
    }
}

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