C#数据库操作类AccessHelper实例_C#教程-查字典教程网
C#数据库操作类AccessHelper实例
C#数据库操作类AccessHelper实例
发布时间:2016-12-28 来源:查字典编辑
摘要:本文实例讲述了C#数据库操作类AccessHelper。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:usingSystem;u...

本文实例讲述了C#数据库操作类AccessHelper。分享给大家供大家参考。

具体实现方法如下:

复制代码 代码如下:using System;

using System.Data;

using System.Configuration;

using System.Data.OleDb;

using ahwildlife.Utils;

/// <summary>

/// AccessHelper 的摘要说明

/// </summary>

public class AccessHelper

{

#region 变量

protected static OleDbConnection conn = new OleDbConnection();

protected static OleDbCommand comm = new OleDbCommand();

protected static string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ahwildlife.mdb;Persist Security Info=False;Jet OLEDB:Database Password=sa;";

#endregion

#region 构造函数

/// <summary>

/// 构造函数

/// </summary>

public AccessHelper()

{

}

#endregion

#region 打开数据库

/// <summary>

/// 打开数据库

/// </summary>

private static void openConnection()

{

if (conn.State == ConnectionState.Closed)

{

conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ahwildlife.mdb;Persist Security Info=False;Jet OLEDB:Database Password=sa;";

comm.Connection = conn;

try

{

conn.Open();

}

catch (Exception ex)

{

throw new Exception(ex.Message);

}

}

}

#endregion

#region 关闭数据库

/// <summary>

/// 关闭数据库

/// </summary>

private static void closeConnection()

{

if (conn.State == ConnectionState.Open)

{

conn.Close();

conn.Dispose();

comm.Dispose();

}

}

#endregion

#region 执行sql语句

/// <summary>

/// 执行sql语句

/// </summary>

public static void ExecuteSql(string sqlstr)

{

try

{

openConnection();

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

comm.ExecuteNonQuery();

}

catch (Exception ex)

{

throw new Exception(ex.Message);

}

finally

{

closeConnection();

}

}

#endregion

#region 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。

/// <summary>

/// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭这个对象。

/// </summary>

public static OleDbDataReader DataReader(string sqlstr)

{

OleDbDataReader dr = null;

try

{

openConnection();

comm.CommandText = sqlstr;

comm.CommandType = CommandType.Text;

dr = comm.ExecuteReader(CommandBehavior.CloseConnection);

}

catch

{

try

{

dr.Close();

closeConnection();

}

catch { }

}

return dr;

}

#endregion

#region 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭

/// <summary>

/// 返回指定sql语句的OleDbDataReader对象,使用时请注意关闭

/// </summary>

public static void DataReader(string sqlstr, ref OleDbDataReader dr)

{

try

{

openConnection();

comm.CommandText = sqlstr;

comm.CommandType = CommandType.Text;

dr = comm.ExecuteReader(CommandBehavior.CloseConnection);

}

catch

{

try

{

if (dr != null && !dr.IsClosed)

dr.Close();

}

catch

{

}

finally

{

closeConnection();

}

}

}

#endregion

#region 返回指定sql语句的DataSet

/// <summary>

/// 返回指定sql语句的DataSet

/// </summary>

/// <param name="sqlstr"></param>

/// <returns></returns>

public static DataSet DataSet(string sqlstr)

{

DataSet ds = new DataSet();

OleDbDataAdapter da = new OleDbDataAdapter();

try

{

openConnection();

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

da.SelectCommand = comm;

da.Fill(ds);

}

catch (Exception e)

{

throw new Exception(e.Message);

}

finally

{

closeConnection();

}

return ds;

}

#endregion

#region 返回指定sql语句的DataSet

/// <summary>

/// 返回指定sql语句的DataSet

/// </summary>

/// <param name="sqlstr"></param>

/// <param name="ds"></param>

public static void DataSet(string sqlstr, ref DataSet ds)

{

OleDbDataAdapter da = new OleDbDataAdapter();

try

{

openConnection();

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

da.SelectCommand = comm;

da.Fill(ds);

}

catch (Exception e)

{

throw new Exception(e.Message);

}

finally

{

closeConnection();

}

}

#endregion

#region 返回指定sql语句的DataTable

/// <summary>

/// 返回指定sql语句的DataTable

/// </summary>

/// <param name="sqlstr"></param>

/// <returns></returns>

public static DataTable DataTable(string sqlstr)

{

DataTable dt = Common.GetDataTableCache(sqlstr);//读缓存

if (dt != null)

{

return dt.Copy();

}

else

{

dt = new DataTable();

OleDbDataAdapter da = new OleDbDataAdapter();

try

{

using (OleDbConnection conn = new OleDbConnection())

{

conn.ConnectionString = connectionString;

conn.Open();

using (OleDbCommand comm = new OleDbCommand())

{

comm.Connection = conn;

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

da.SelectCommand = comm;

da.Fill(dt);

}

}

}

catch (Exception e)

{

throw new Exception(e.Message);

}

finally

{

closeConnection();

}

Common.InsertDataTableCache(sqlstr, dt);//添加缓存

return dt.Copy();

}

}

#endregion

#region 返回指定sql语句的DataTable

/// <summary>

/// 返回指定sql语句的DataTable

/// </summary>

public static void DataTable(string sqlstr, ref DataTable dt)

{

OleDbDataAdapter da = new OleDbDataAdapter();

try

{

openConnection();

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

da.SelectCommand = comm;

da.Fill(dt);

}

catch (Exception e)

{

throw new Exception(e.Message);

}

finally

{

closeConnection();

}

}

#endregion

#region 返回指定sql语句的DataView

/// <summary>

/// 返回指定sql语句的DataView

/// </summary>

/// <param name="sqlstr"></param>

/// <returns></returns>

public static DataView DataView(string sqlstr)

{

OleDbDataAdapter da = new OleDbDataAdapter();

DataView dv = new DataView();

DataSet ds = new DataSet();

try

{

openConnection();

comm.CommandType = CommandType.Text;

comm.CommandText = sqlstr;

da.SelectCommand = comm;

da.Fill(ds);

dv = ds.Tables[0].DefaultView;

}

catch (Exception e)

{

throw new Exception(e.Message);

}

finally

{

closeConnection();

}

return dv;

}

#endregion

}

希望本文所述对大家的C#程序设计有所帮助。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类