为方便使用和操作Access数据库,我们可以开发一个通用访问类,可以实现对Access的封装和统一管理。本文将详细讲解C#实现Access通用访问类OleDbHelper完整实例的攻略。
介绍
OleDb是一种Microsoft发布的一种访问不同数据源的统一接口,并为不同应用程序提供统一的方式访问数据库。OleDb由系统提供,是系统自带支持的。在访问Access数据库时需要用到OleDb对象。
Access通用访问类OleDbHelper是一个采用.NET平台开发的通用数据库访问库,其目的是为了方便.NET程序员在开发过程中对Access数据库进行操作。OleDbHelper提供了一套基于OleDb的通用性访问方法,可以为应用程序提供了方便的数据访问,并可以使得应用程序可以无差别地访问不同的数据库。
实现步骤
下面我们将详细讲述C#实现Access通用访问类OleDbHelper的完整实例的攻略,包括以下步骤:
第一步:创建一个Class Library
- 打开Visual Studio,选择File -> New -> Project。
- 在新建项目对话框中,选择Visual C# -> Class Library。
第二步:添加引用
- 在Solution Explorer 中,选择 “References” 文件夹。
- 选择 “Add Reference...” 命令,打开 “Add Reference” 对话框。
- 在.net 的选项卡下,选择 “System.Data” 程序集添加引用。
- 在 “Browse” 选项卡下,找到 Microsoft Jet 和 Microsoft ACE OLEDB Provider 所在路径,添加引用(因为Access是基于Jet Engine,如果选择的是2003及以下版本的Access,则选择Jet 4.0 OLE DB Provider;如果选择的是2007及以上版本的Access,则选择Microsoft ACE OLEDB Provider)。
第三步:编写OleDbHelper类
- OleDbHelper类的完整代码如下:
using System.Data;
using System.Data.OleDb;
namespace AccessCommon
{
public class OleDbHelper
{
// 数据库连接字符串
private static string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/Access.mdb";
#region ExecuteNonQuery
/// <summary>
/// 执行SQL,并返回受影响的行数
/// </summary>
/// <param name="sql">要执行的SQL</param>
/// <returns>受影响的行数</returns>
public static int ExecuteNonQuery(string sql)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
connection.Open();
int count = command.ExecuteNonQuery();
return count;
}
}
}
#endregion
#region ExecuteDataTable
/// <summary>
/// 执行SQL,并返回结果集的DataTable
/// </summary>
/// <param name="sql">要执行的SQL</param>
/// <returns>结果集的DataTable</returns>
public static DataTable ExecuteDataTable(string sql)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbDataAdapter adapter = new OleDbDataAdapter(sql, connection))
{
DataTable datatable = new DataTable();
adapter.Fill(datatable);
return datatable;
}
}
}
#endregion
#region ExecuteScalar
/// <summary>
/// 执行SQL,并返回查询结果的第一行第一列
/// </summary>
/// <param name="sql">要执行的SQL</param>
/// <returns>查询结果的第一行第一列</returns>
public static object ExecuteScalar(string sql)
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
connection.Open();
object obj = command.ExecuteScalar();
if (Object.Equals(obj, null) || Object.Equals(obj, DBNull.Value))
{
return null;
}
return obj;
}
}
}
#endregion
}
}
- 到此为止,程序的Access操作内容已经完成,我们可以在另一个项目中调用该操作类。以下给出两个具体的案例:
示例一:插入数据
在程序中,可以调用ExecuteNonQuery方法实现插入操作。
OleDbHelper.ExecuteNonQuery("INSERT INTO TableName(Field1,Field2,Field3) VALUES('Value1','Value2','Value3')");
示例二:查询数据
在程序中,可以调用ExecuteDataTable方法获取查询结果集。
DataTable dataTable = OleDbHelper.ExecuteDataTable("SELECT Field1,Field2 FROM TableName");
结论
以上就是C#实现Access通用访问类OleDbHelper完整实例的攻略,让我们实现了Access数据库的封装和统一管理。借助这个操作类,我们可以方便地对Access数据库进行操作,快速解决开发过程中碰到的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现Access通用访问类OleDbHelper完整实例 - Python技术站