OleDBHelper

 
 public class OleDbHelper
    {
        public OleDbHelper() { }

        private static OleDbConnection Conn;
        private static OleDbCommand Cmd;
        private static OleDbDataAdapter Da;
        private static DataSet Ds;
        private static DataTable Dt;
        private static string strConn = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="
        + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.ConnectionStrings["Conn"].ToString());

        /* Web.Config配置
          <connectionStrings>
          <!--數據庫連接字符-->
          <add name="ConnStr" connectionString="~/App_Data/Data.mdb"/>
          </connectionStrings>
        */

        /// <summary>
        /// 打開連接
        /// </summary>
        public static void Open()
        {
            Conn = new OleDbConnection();
            Cmd = new OleDbCommand();
            if (Conn.State.Equals(ConnectionState.Closed))
            {
                Conn.ConnectionString = strConn;
                Conn.Open();
            }
            Cmd.Connection = Conn;
        }


        /// <summary>
        /// 關閉連接
        /// </summary>
        public static void Close()
        {
            if (Conn.State.Equals(ConnectionState.Open))
            {
                Conn.Close();
                Conn.Dispose();
            }
        }

        /// <summary>
        /// 執行ExecuteNonQuery()
        /// </summary>
        /// <param name="sql">SQL語句</param>
        /// <returns></returns>
        public static int ExecuteCmd(string sql)
        {
            try
            {
                Open();
                Cmd.CommandText = sql;
                return Cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
            finally
            {
                Close();
            }
        }


        /// <summary>
        /// DataSet類
        /// </summary>
        /// <param name="sql">SQL語句</param>
        /// <returns></returns>
        public static DataSet GetDataSet(string sql)
        {
            try
            {
                Open();
                Cmd.CommandText = sql;
                Da = new OleDbDataAdapter();
                Da.SelectCommand = Cmd;
                Ds = new DataSet();
                Da.Fill(Ds);
                return Ds;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
            finally
            {
                Close();
            }
        }

        /// <summary>
        /// DataTable 類
        /// </summary>
        /// <param name="sql">SQL語句</param>
        /// <returns></returns>
        public static DataTable GetDataTable(string sql)
        {
            try
            {
                Open();
                Cmd.CommandText = sql;
                Da = new OleDbDataAdapter();
                Da.SelectCommand = Cmd;
                Dt = new DataTable();
                Da.Fill(Dt);
                return Dt;
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
            finally
            {
                Close();
            }
        }

        /// <summary>
        /// 執行 ExecuteScalar
        /// </summary>
        /// <param name="sql">SQL語句</param>
        /// <returns></returns>
        public static int ExecuteScalar(string sql)
        {
            try
            {
                Open();
                Cmd.CommandText = sql;
                return (int)Cmd.ExecuteScalar();
            }
            catch (Exception e)
            {
                throw new Exception(e.Message, e);
            }
            finally
            {
                Close();
            }
        }
    }
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
     <style type="text/css">
        body{font-size:12px;font-family:宋體;}
        span{font-weight:bold;}
        a{color:green;}
        a:hover{ color:Blue;}
    </style>
    
    <script type="text/javascript">
        function getID(id) {
            return document.getElementById(id);
        }

        //列表
        function listpage() {
            var rep = "";
            var list = CheckDelete._Default.get_list().value;
            for (var i = 0; i < list.length; i++) {
                rep += list[i].name + " <input name=" + list[i].id + " type='checkbox' value=" + list[i].name + " > <br/> ";
            }
            getID("str").innerHTML = rep;
        }


        // 全選
        function checkall() {
            var all = document.getElementsByTagName("input");
            for (var i = 0; i < all.length; i++) {
                if (all[i].type == "checkbox") {
                    all[i].checked = true;
                }
            }
        }

        //反選
        function checknull() {
            var all = document.getElementsByTagName("input");
            for (var i = 0; i < all.length; i++) {
                if (all[i].type == "checkbox") {
                    all[i].checked = false;
                }
            }
        }

        //刪除
        function deleteAll() {
            var all = document.getElementsByTagName("input");
            if (confirm('確定刪除?')) {
                for (var i = 0; i < all.length; i++) {
                    if (all[i].checked) {
                        CheckDelete._Default.deleteall(all[i].name);
                    }
                }
                listpage()
            }
        }

        //添加
        function insert() {
            CheckDelete._Default.insert();
            listpage();
        }
    
    </script>
</head>
<body onload="listpage();">
    <form id="form1" runat="server">
    <div>
     <br />
     <div id="str"></div>   
     <input id="Button1" type="button" value="全選" onclick="checkall()" /> 
     <input id="Button2" type="button" value="反選" onclick="checknull()" />
     <input id="Button3" type="button" value="刪除" onclick="deleteAll()" /> 
     <input id="Button4" type="button" value="添加10條記錄" onclick="insert()" />
     
    </div>
    </form>
</body>
</html>

namespace CheckDelete
{
    public partial class _Default : System.Web.UI.Page
    {
        
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(_Default));
        }
        //列表
        [AjaxPro.AjaxMethod]
        public List<Model> get_list()
        {
            string sql = "select * from [Book]";
            DataTable Dt = OleDbHelper.GetDataTable(sql);
            List<Model> list = new List<Model>();
            foreach (DataRow Dr in Dt.Rows)
            {
                Model mode = new Model();
                mode.id = Convert.ToInt32(Dr["id"]);
                mode.name = Dr["name"].ToString();
                list.Add(mode);
            }
            return list;
        }

        //刪除
        [AjaxPro.AjaxMethod]
        public void deleteall(string id)
        {
            string sql = "delete from [Book] where id=" + id;
            CheckDelete.OleDbHelper.ExecuteCmd(sql);
        }

        //無刷新添加數據
        [AjaxPro.AjaxMethod]
        //由於使用的通用的數據庫操作類,循環的時候,循環幾次就打開幾次數據庫連接,性能很差,實際項目開發應用時,建議重新寫數據操作類
        //只打開一次數據庫連接,循環執行完畢後再關閉連接
        public void insert()
        {
            for (int i = 0; i < 10; i++)
            {
                string sql = "insert into [Book](name) values('最新書籍" + i.ToString() + "')";
                CheckDelete.OleDbHelper.ExecuteCmd(sql);
            }
        }
    }
    public class Model
    {
        private int _id;
        private string _name;

        public int id
        {
            get { return _id; }
            set { _id = value; }
        }

        public string name
        {
            get { return _name; }
            set { _name = value; }
        }
    }
}


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