[C#]AccessUtils

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

关键代码:

usingSystem;usingSystem.Data;usingSystem.Data.OleDb;namespaceCSharpUtilHelpV2

{/// <summary>/// 基于.NET 2.0的access数据简单操作类/// </summary>publicclassAccessUtilsV2

{stringConnectString =string.Empty;/// <summary>/// 构造函数/// </summary>/// <param name="path">access路径</param>publicAccessUtilsV2(stringpath)

{

ConnectString ="PRovider=Microsoft.Jet.OLEDB.4.0;Data Source="+ path;

}/// <summary>/// 构造函数/// </summary>/// <param name="path">access路径</param>/// <param name="passWord">access密码</param>publicAccessUtilsV2(stringpath,stringpassword)

{

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>publicintExecuteNonQuery(stringsql, OleDbParameter[] parameters)

{int_affectedRows = -1;using(OleDbConnection sqlcon =newOleDbConnection(ConnectString))

{

sqlcon.Open();using(OleDbCommand sqlcmd =newOleDbCommand(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>publicIDataReader ExecuteReader(stringsql, OleDbParameter[] parameters)

{

OleDbConnection _sqlcon =newOleDbConnection(ConnectString);using(OleDbCommand _sqlcmd =newOleDbCommand(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>publicDataTable ExecuteDataTable(stringsql, OleDbParameter[] parameters)

{using(OleDbConnection _sqlcon =newOleDbConnection(ConnectString))

{using(OleDbCommand _sqlcmd =newOleDbCommand(sql, _sqlcon))

{if(parameters !=null)

_sqlcmd.Parameters.AddRange(parameters);using(OleDbDataAdapter _sqldap =newOleDbDataAdapter(_sqlcmd))

{

DataTable _dt =newDataTable();

_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>publicObject ExecuteScalar(stringsql, OleDbParameter[] parameters)

{using(OleDbConnection _sqlcon =newOleDbConnection(ConnectString))

{using(OleDbCommand _sqlcmd =newOleDbCommand(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; }测试代码:

usingCSharpUtilHelpV2;usingSystem;usingSystem.Data;usingSystem.Data.OleDb;usingSystem.IO;namespaceCSharpUtilHelpV2Test

{publicclassAccessUtilsV2Test

{staticAccessUtilsV2 AccessHelper =newAccessUtilsV2(string.Format(@"{0}\DB\Northwind.MDB", AppDomain.CurrentDomain.BaseDirectory.ToString()));publicstaticvoidShowAccessPath()

{string_fullPath =string.Format(@"{0}\DB\Northwind.MDB", AppDomain.CurrentDomain.BaseDirectory.ToString());

Console.WriteLine(_fullPath);

Console.WriteLine("File.Exist:"+ File.Exists(_fullPath));

}publicstaticvoidExecuteNonQueryTest()

{//-------------------------方式一---------------------------------------//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 =newOleDbParameter[] {newOleDbParameter("@id",23),newOleDbParameter("@categoryName","Test2"),newOleDbParameter("@description","测试2")

};

Console.WriteLine("ExecuteNonQueryTest:"+ AccessHelper.ExecuteNonQuery(_sql, _paramter));

}publicstaticvoidExecuteReaderTest()

{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"]);

}

}

}publicstaticvoidExecuteDataTableTest()

{string_sql ="select * from Categories where CategoryID<=5";

Console.WriteLine("ExecuteDataTableTest:"+ AccessHelper.ExecuteDataTable(_sql,null).Rows.Count);

}publicstaticvoidExecuteScalarTest()

{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操作的简单封装,希望有所帮助!

本人才疏学浅,难免错误,敬请指出,谢谢!

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航