C#操作Access数据库通用类是一种可以实现对Access数据库进行操作的通用类,可以在项目中共用,减少了重复编写代码的工作量,提高了开发效率。下面给出实现的完整攻略等内容:
步骤一:创建Access数据库
首先需要在电脑上安装好Access数据库,在安装好之后打开Access,并通过创建表格的方式来创建一个Access数据库。
步骤二:新建C#项目
通过Visual Studio或其他编译器工具,创建一个新的C#项目。
步骤三:添加引用
在新建的C#项目当中添加对于System.Data.OleDb命名空间的引用,同时也需要添加对于Microsoft.Office.Interop.Access.Dao命名空间的引用,这样就可以使用Access数据库通用类进行相关操作。
步骤四:创建Access数据库通用类并实现
创建一个名为AccessHelper的静态类,该类中包含需定义常量、字段和相关方法以及属性:
public static string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";//Access2003
//public static string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";//Access2007及以上
public static OleDbConnection con = null;
/// <summary>
/// 打开数据库连接
/// </summary>
public static void Open()
{
try
{
if (con == null)
{
con = new OleDbConnection(strConn);
}
if (con.State == ConnectionState.Closed)
{
con.Open();
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public static void Close()
{
try
{
if (con != null)
{
if (con.State == ConnectionState.Open)
{
con.Close();
con.Dispose();
}
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 执行SQL语句
/// </summary>
/// <param name="sql">需要执行的SQL语句</param>
/// <returns>受影响的行数</returns>
public static int ExecuteNonQuery(string sql)
{
try
{
if (con == null || con.State == ConnectionState.Closed)
{
Open();
}
OleDbCommand cmd = new OleDbCommand(sql, con);
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
Close();
}
}
/// <summary>
/// 执行SQL语句并返回第一行第一列的值
/// </summary>
/// <param name="sql">需要执行的SQL语句</param>
/// <returns>值</returns>
public static object ExecuteScalar(string sql)
{
try
{
if (con == null || con.State == ConnectionState.Closed)
{
Open();
}
OleDbCommand cmd = new OleDbCommand(sql, con);
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
Close();
}
}
/// <summary>
/// 执行SQL语句并返回Select语句的结果为DataTable
/// </summary>
/// <param name="sql">需要执行的SQL语句</param>
/// <returns>DataTable对象</returns>
public static DataTable ExecuteDataTable(string sql)
{
try
{
if (con == null || con.State == ConnectionState.Closed)
{
Open();
}
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter(sql, con);
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
Close();
}
}
步骤五:使用Access数据库通用类
完成以上的步骤之后,在C#项目中就可以非常方便地使用Access数据库通用类了。下面给出两个使用示例:
示例1:查询数据
string sql = "select * from Student where ID=1";//需要执行的SQL语句
DataTable dt = AccessHelper.ExecuteDataTable(sql);//通过通用类获取查询结果
foreach (DataRow dr in dt.Rows)//遍历结果数据行
{
Console.WriteLine("Name:{0} Sex:{1} Age:{2}", dr["Name"].ToString(), dr["Sex"].ToString(), dr["Age"].ToString());
}
示例2:插入数据
string sql = "insert into Student(Name, Sex, Age) values('张三', '男', 18)";//需要执行的SQL语句
int result = AccessHelper.ExecuteNonQuery(sql);//通过通用类插入数据
if (result > 0)
{
Console.WriteLine("插入成功");
}
else
{
Console.WriteLine("插入失败");
}
完成以上步骤和示例操作之后,即可实现C#操作Access数据库通用类的相关功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作Access通用类实例 - Python技术站