国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[C#]AccessUtils

2019-11-14 16:23:52
字體:
來源:轉載
供稿:網友

關鍵代碼:

using System;using System.Data;using System.Data.OleDb;namespace CSharpUtilHelpV2{    /// <summary>    /// 基于.NET 2.0的access數據簡單操作類    /// </summary>    public class AccessUtilsV2    {        string ConnectString = string.Empty;        /// <summary>        /// 構造函數        /// </summary>        /// <param name="path">access路徑</param>        public AccessUtilsV2(string path)        {            ConnectString = "PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path;        }        /// <summary>        /// 構造函數        /// </summary>        /// <param name="path">access路徑</param>        /// <param name="passWord">access密碼</param>        public AccessUtilsV2(string path, string password)        {            ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Jet OLEDB:Database Password= " + password;        }        /// <summary>        /// ExecuteNonQuery        /// </summary>        /// <param name="sql">查詢,修改,刪除sql語句</param>        /// <param name="parameters">OleDbParameter參數;eg: new OleDbParameter("@categoryName","Test2")</param>        /// <returns>操作影響行數</returns>        public int ExecuteNonQuery(string sql, OleDbParameter[] parameters)        {            int _affectedRows = -1;            using (OleDbConnection sqlcon = new OleDbConnection(ConnectString))            {                sqlcon.Open();                using (OleDbCommand sqlcmd = new OleDbCommand(sql, sqlcon))                {                    if (parameters != null)                        sqlcmd.Parameters.AddRange(parameters);                    _affectedRows = sqlcmd.ExecuteNonQuery();                }            }            return _affectedRows;        }        /// <summary>        /// ExecuteReader        /// </summary>        /// <param name="sql">讀取sql語句</param>        /// <param name="parameters">OleDbParameter參數;eg: new OleDbParameter("@categoryName","Test2")</param>        /// <returns>IDataReader</returns>        public IDataReader ExecuteReader(string sql, OleDbParameter[] parameters)        {            OleDbConnection _sqlcon = new OleDbConnection(ConnectString);            using (OleDbCommand _sqlcmd = new OleDbCommand(sql, _sqlcon))            {                if (parameters != null)                    _sqlcmd.Parameters.AddRange(parameters);                _sqlcon.Open();                return _sqlcmd.ExecuteReader(CommandBehavior.CloseConnection);            }        }        /// <summary>        /// ExecuteDataTable        /// </summary>        /// <param name="sql">讀取sql語句</param>        /// <param name="parameters">OleDbParameter參數;eg: new OleDbParameter("@categoryName","Test2")</param>        /// <returns>DataTable</returns>        public DataTable ExecuteDataTable(string sql, OleDbParameter[] parameters)        {            using (OleDbConnection _sqlcon = new OleDbConnection(ConnectString))            {                using (OleDbCommand _sqlcmd = new OleDbCommand(sql, _sqlcon))                {                    if (parameters != null)                        _sqlcmd.Parameters.AddRange(parameters);                    using (OleDbDataAdapter _sqldap = new OleDbDataAdapter(_sqlcmd))                    {                        DataTable _dt = new DataTable();                        _sqldap.Fill(_dt);                        return _dt;                    }                }            }        }        /// <summary>        /// ExecuteScalar        /// </summary>        /// <param name="sql">查詢第一行第一列數據值</param>        /// <param name="parameters">OleDbParameter參數;eg: new OleDbParameter("@categoryName","Test2")</param>        /// <returns>Object</returns>        public Object ExecuteScalar(string sql, OleDbParameter[] parameters)        {            using (OleDbConnection _sqlcon = new OleDbConnection(ConnectString))            {                using (OleDbCommand _sqlcmd = new OleDbCommand(sql, _sqlcon))                {                    if (parameters != null)                        _sqlcmd.Parameters.AddRange(parameters);                    _sqlcon.Open();                    return _sqlcmd.ExecuteScalar();                }            }        }    }}

測試代碼:

using CSharpUtilHelpV2;using System;using System.Data;using System.Data.OleDb;using System.IO;namespace CSharpUtilHelpV2Test{    public class AccessUtilsV2Test    {        static AccessUtilsV2 AccessHelper = new AccessUtilsV2(string.Format(@"{0}/DB/Northwind.MDB", AppDomain.CurrentDomain.BaseDirectory.ToString()));        public static void ShowAccessPath()        {            string _fullPath = string.Format(@"{0}/DB/Northwind.MDB", AppDomain.CurrentDomain.BaseDirectory.ToString());            Console.WriteLine(_fullPath);            Console.WriteLine("File.Exist:" + File.Exists(_fullPath));        }        public static void ExecuteNonQueryTest()        {            //-------------------------方式一---------------------------------------            //string _sql = "INSERT INTO Categories (CategoryID, CategoryName, Description) VALUES   (22, 'Test', '測試')";            //Console.WriteLine("ExecuteNonQueryTest:" + AccessHelper.ExecuteNonQuery(_sql, null));            //-------------------------方式二---------------------------------------            string _sql = "INSERT INTO Categories (CategoryID, CategoryName, Description) VALUES   (@id, @categoryName, @description)";            OleDbParameter[] _paramter = new OleDbParameter[] {                new OleDbParameter("@id",23),               new OleDbParameter("@categoryName","Test2"),               new OleDbParameter("@description","測試2")            };            Console.WriteLine("ExecuteNonQueryTest:" + AccessHelper.ExecuteNonQuery(_sql, _paramter));        }        public static void ExecuteReaderTest()        {            string _sql = "select * from Categories where CategoryID<=5";            using (IDataReader reader = AccessHelper.ExecuteReader(_sql, null))            {                while (reader.Read())                {                    Console.WriteLine("CategoryID:" + reader["CategoryID"] + " CategoryName:" + reader["CategoryName"]);                }            }        }        public static void ExecuteDataTableTest()        {            string _sql = "select * from Categories where CategoryID<=5";            Console.WriteLine("ExecuteDataTableTest:" + AccessHelper.ExecuteDataTable(_sql, null).Rows.Count);        }        public static void ExecuteScalarTest()        {            string _sql = "select * from Categories where CategoryID<=5";            Console.WriteLine("ExecuteScalarTest:" + AccessHelper.ExecuteScalar(_sql, null) ?? "Null");        }    }}

測試結果:

image

這里是對Access操作的簡單封裝,希望有所幫助!

本人才疏學淺,難免錯誤,敬請指出,謝謝!微笑


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石棉县| 岳阳县| 临邑县| 阿坝| 承德市| 临沧市| 铜梁县| 龙陵县| 屯昌县| 靖江市| 德令哈市| 金乡县| 怀仁县| 英德市| 绥德县| 中西区| 凤凰县| 枝江市| 孝感市| 邵东县| 乌苏市| 湘潭县| 东海县| 平顶山市| 遵义县| 长垣县| 南京市| 论坛| 稻城县| 福州市| 丰都县| 利辛县| 忻州市| 左云县| 高州市| 大同市| 葫芦岛市| 闻喜县| 宜春市| 图们市| 鹿泉市|