C#.NET访问数据库的通用类(Access篇)

转载 2006年06月09日 16:11:00

配置web.config文件:配置数据库连接参数

 

<appSettings>
    <!--
  connStr参数设置,事例说明:
  (1)Sql server数据库,例如“server=local;database=test;uid=sa;pwd=;”
  (2)Access数据库,例如“data/ex.mdb; user id='admin';Jet OLEDB:database password='admin';”
 -->
    <add key="connStr" value="DB/Example.mdb; user id='admin';Jet OLEDB:database password='admin';" />
  </appSettings>

编写ConnDbForAccess.cs 的代码

 

using System;
using System.Data;
using System.Data.OleDb;
using System.Web; 
using System.Web.UI;  

 

 


namespace Com.LXJ.Database
{
 /// <summary>
 /// conn 的摘要说明。
 /// </summary>
 public class ConnDbForAcccess
 {
  /// <summary>
  /// 连接数据库字符串
  /// </summary>
  private string connectionString;

  /// <summary>
  /// 存储数据库连接(保护类,只有由它派生的类才能访问)
  /// </summary>
  protected OleDbConnection Connection;

  /// <summary>
  /// 构造函数:数据库的默认连接
  /// </summary>
  public ConnDbForAcccess()
  {
   string connStr;
   connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"]; //从web.config配置中读取

   connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;

   Connection = new OleDbConnection(connectionString);
  }

  /// <summary>
  /// 构造函数:带有参数的数据库连接
  /// </summary>
  /// <param name="newConnectionString"></param>
  public ConnDbForAcccess(string newConnectionString)
  {
   connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + newConnectionString;
   Connection = new OleDbConnection(connectionString);
  }

  /// <summary>
  /// 获得连接字符串
  /// </summary>
  public string ConnectionString
  {
   get
   {
    return connectionString;
   }
  }

       
  /// <summary>
  /// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
  /// </summary>
  /// <param name="strSQL"></param>
  /// <returns>操作成功标志</returns>
  public bool ExeSQL(string strSQL)
  {
   bool resultState = false;

   Connection.Open();
   OleDbTransaction myTrans = Connection.BeginTransaction();
   OleDbCommand command = new OleDbCommand(strSQL,Connection,myTrans);
   
   try
   {
    command.ExecuteNonQuery();
    myTrans.Commit();
    resultState = true;
   }
   catch
   {
    myTrans.Rollback();
    resultState = false;
   }
   finally
   {
    Connection.Close();
   }
   return resultState;
  }
   
  /// <summary>
  /// 执行SQL语句返回结果到DataReader中
  /// </summary>
  /// <param name="strSQL"></param>
  /// <returns>dataReader</returns>
  private OleDbDataReader ReturnDataReader(string strSQL)
  {
   Connection.Open();
   OleDbCommand command = new OleDbCommand(strSQL,Connection);
   OleDbDataReader dataReader = command.ExecuteReader();
   Connection.Close();

   return dataReader;
  }

  /// <summary>
  /// 执行SQL语句返回结果到DataSet中
  /// </summary>
  /// <param name="strSQL"></param>
  /// <returns>DataSet</returns>
  public DataSet ReturnDataSet(string strSQL)
  {
   Connection.Open();
   DataSet dataSet = new DataSet();
   OleDbDataAdapter OleDbDA = new OleDbDataAdapter(strSQL,Connection);
   OleDbDA.Fill(dataSet,"objDataSet");

   Connection.Close();
   return dataSet;
  }

  /// <summary>
  /// 执行一查询语句,同时返回查询结果数目
  /// </summary>
  /// <param name="strSQL"></param>
  /// <returns>sqlResultCount</returns>
  public int ReturnSqlResultCount(string strSQL)
  {
   int sqlResultCount = 0;

   try
   {
    Connection.Open();
    OleDbCommand command = new OleDbCommand(strSQL,Connection);
    OleDbDataReader dataReader = command.ExecuteReader();

    while(dataReader.Read())
    {
     sqlResultCount++;
    }
    dataReader.Close();
   }
   catch
   {
    sqlResultCount = 0;
   }
   finally
   {
    Connection.Close();
   }
   return sqlResultCount;
  } 

  
 }//
}//

C#.NET万能数据库访问封装类(ACCESS、SQLServer、Oracle)

在app.config文件中写上数据库中连接信息: app.config文件中代码解析:        小注: 同理web程序,可以把数据库连接信息放到web.config中。C...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2014年01月08日 09:46
  • 1827

C#访问Access数据库的数据库操作类

最近做了一些关于Access数据库的应用开发,其中涉及了对Access数据库的访问,现在将我们自己用到的几个基类贴出来给 大家看看,由于涉及功能并不多,其中有些也是借鉴了他人的代码,功能也比较简单,...
  • weizhiai12
  • weizhiai12
  • 2015年04月15日 16:14
  • 697

【转载】C#操作Access通用类

声明:本文为转载,非原创,如有侵权,请告知,本人会尽快删除。 原文地址:http://www.oschina.net/code/snippet_4946_749 [1].[代码] C#操作A...
  • zhd18
  • zhd18
  • 2016年10月16日 11:23
  • 477

C#的Access数据库操作 AccessHelper类

由于学校的安全级别提高了,我们以前做的网站使用拼接sql方法查询数据会被拦截,所以说网站就必须重构,在重构之余,复习了下AccessHelper类,随便复习了下C#数据库操作。下面我们就开始吧。 先...
  • u012316444
  • u012316444
  • 2015年07月27日 16:43
  • 1083

Access数据库教程_如何进行C#连接Access数据库的细节操作?

许多学者总会面对于数据库的知识,以下的例子讲述到Access数据库说明,用C#的DataSet类访问数据库的一些操作方法。 操作涉及的主要C#类有: DataSet:对应数据库表的一个集合...
  • zhuqihe02
  • zhuqihe02
  • 2015年10月17日 09:47
  • 3361

远程访问Access数据库

远程访问Access数据库
  • TaoYuanKuangDao
  • TaoYuanKuangDao
  • 2017年05月05日 10:57
  • 1018

C#操作Access通用类实例

这篇文章主要介绍了C#操作Access通用类,实例分析了C#操作access的各种常见技巧,非常具有实用价值,需要的朋友可以参考下 using System; using System.Data; ...
  • u011981242
  • u011981242
  • 2016年03月06日 22:59
  • 1934

并发访问Access数据库(局域网)

1.      首先把程序折分,分成一个前台程序,一个后台数据库。          利用ACCESS的数据库拆分向导可以很轻松的做到把数据库分为前台与后台两个部分,前台保留除表之外的所有对象,包括...
  • u010034670
  • u010034670
  • 2014年01月14日 15:58
  • 1892

.NET通用的数据库操作类(支持多种数据库)

通用的数据库操作类(支持多种数据库)       我们在软件开发过程中,数据库是一个永久不变的话题,但是根据软件架构与客户要求的不同我们会选择不同的数据库,在C#中不同数据库操作编写代码不尽相同...
  • qq798833488
  • qq798833488
  • 2016年05月13日 11:02
  • 4403

VBA访问access数据库实例

最近,同事要用一个excel文件导出每天邮件的信息,邮件基本信息都存在了access数据表中了,要实现这个功能有好几种方式,例如写一个qty文件,而我直接用了excel自带的VBA功能,写了一个宏,根...
  • zhangshufei8001
  • zhangshufei8001
  • 2016年08月18日 16:39
  • 2031
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: C#.NET访问数据库的通用类(Access篇)
举报原因:
原因补充:

(最多只允许输入30个字)