[C#]AccessUtils
关键代码:
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(); } } } } }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }测试代码:
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"); } } }
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }测试结果:
这里是对Access操作的简单封装,希望有所帮助!
本人才疏学浅,难免错误,敬请指出,谢谢!
[C#]AccessUtils的更多相关文章
- .net(C#)在Access数据库中执行sql脚本
自己写的一个工具类,主要是业务场景的需要. 主要有两个功能: ①执行包含sql语句的字符串 ②执行包含sql语句的文件 调用方式 /// <summary> /// 执行sql语句 /// ...
- HBase实践案例:知乎 AI 用户模型服务性能优化实践
用户模型简介 知乎 AI 用户模型服务于知乎两亿多用户,主要为首页.推荐.广告.知识服务.想法.关注页等业务场景提供数据和服务, 例如首页个性化 Feed 的召回和排序.相关回答等用到的用户长期兴趣特 ...
随机推荐
- C++编译器默默编写并调用哪些函数
什么时候empty class(空类)不再是个empty class呢?当C++处理过它之后,是的,如果你自己没有声明,编译器就会为它声明(编译器版本)一个copy构造函数.一个copy assign ...
- 【ZZ】Java : 一个帝国的诞生 & 假如时光能够倒流, 我会这么学习Java
Java : 一个帝国的诞生 http://dy.qq.com/article.htm?id=20160523A06XFS00 写的很有意思,一下子了解了JAVA的历史. 假如时光能够倒流, 我会这么 ...
- Fedora安装
转载:http://www.51ou.com/browse/fedora/33174.html 安装fedora后的20个系统设置 安装VirtualBox增强工具 1.编辑sudoers文件,先备份 ...
- C - Minimum Inversion Number
Description The inversion number of a given number sequence a1, a2, ..., an is the number of pairs ( ...
- The Famous Clock
描述 Mr. B, Mr. G and Mr. M are now in Warsaw, Poland, for the 2012’s ACM-ICPC World Finals Contest. T ...
- Debian 7.4 中配置PHP环境
准备工作 导入密钥 wget http://www.dotdeb.org/dotdeb.gpg sudo apt-key add dotdeb.gpg 添加源 vi /etc/apt/sources. ...
- linux-进程相关
ps查看当前运行的进程 ps -ef|grep httpd ps是静态的 ps -aux|grep httpd top 是动态的 kill 杀进程 kill -[选项] 进程号 -9强制杀死 kil ...
- ARM Linux bootloader笔记
.text //指定了后续编译出来的内容放在代码段[可执行] .global //告诉编译器后续跟的是一个全局可见的名字[可能是变量,也可以是函数名] _start /*函数的其实地址,也是编译.链接 ...
- mysql 修改 character_set_database 编码格式
操作系统:win10 x64 Server version : 5.5.46 MySQL Community Server (GPL) mysql 修改 character_set_database ...
- java url中文 编译和解码
js到servlet: js端 var minename='中文'; minename=encodeURI(encodeURI(minename)); java servlet 端 String na ...