数据库访问封装类:支持ACCESS、SQLServer、Oracle
"c#.NET数据库访问封装类,支持ACCESS、SQLServer、Oracle数据库,通过配置文件设置连接字符串,提供数据库操作的基础功能" 在.NET框架中,开发人员经常需要与各种类型的数据库进行交互,如ACCESS、SQLServer和Oracle。为了简化这一过程,可以创建一个数据库访问封装类,如标题所示的`DataBaseLayer`类。这个类允许程序员通过统一的接口来处理不同的数据库操作,从而提高代码的复用性和可维护性。 在提供的代码片段中,`DataBaseLayer`类使用了多个命名空间,这些命名空间是.NET框架中处理数据操作和配置信息的关键部分: - `System`: .NET框架的核心命名空间,包含许多基本类型和系统类。 - `System.Collections`: 包含各种集合类,如ArrayList和Dictionary。 - `System.Collections.Specialized`: 提供特殊类型的集合,如NameValueCollection。 - `System.Data`: 包含用于数据库访问的类,如DataSet、DataTable和DataAdapter。 - `System.Data.SqlClient`: 用于SQL Server数据库的访问,包含SqlConnection、SqlCommand等类。 - `System.Data.OleDb`: 用于OLE DB数据提供程序,支持多种数据库,包括ACCESS。 - `System.Data.OracleClient`: 用于Oracle数据库的访问,包含OracleConnection、OracleCommand等类。 - `System.Configuration`: 提供读取应用程序配置文件(如web.config)的能力。 - `System.Reflection`: 用于运行时检查和操作类型、成员等。 `DataBaseLayer`类有两个构造函数:一个接受连接字符串和数据类型作为参数,另一个无参构造函数会从`web.config`配置文件中获取连接字符串和数据类型。这使得在不同环境中轻松切换数据库连接变得简单。 类中的`connectionString`属性存储数据库的连接字符串,可以通过`ConntionString`属性进行获取和设置。此外,类还定义了一个`DbType`属性,虽然在给出的代码中没有详细实现,但通常用于确定正在使用的数据库类型,以便选择正确的数据库访问组件。 类中还声明了一些未实现的方法,如`OpenDB()`、`CloseDB()`、`ExecuteNonQuery()`和`ExecuteReader()`,这些方法是数据库操作的基本功能,分别对应打开数据库连接、关闭数据库连接、执行非查询SQL语句(如INSERT、UPDATE、DELETE)和执行查询语句并返回DataReader对象。 通过这样的封装,开发人员可以使用相同的方法调用来处理不同数据库的事务,只需在配置文件中更改连接字符串和数据类型即可。这大大减少了因数据库变化而修改代码的工作量,提高了代码的可扩展性。 总结来说,`DataBaseLayer`类是一个基础的数据库访问层,它提供了一种在c#.NET中统一处理数据库操作的方式,支持多数据库环境,并且易于配置和使用。这个类的设计遵循了面向对象的原则,使得数据库操作更加简洁和高效。
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.OracleClient;
using System.Configuration;
using System.Reflection;
namespace SystemFramework.DAL
{
/**//// <summary>
/// All rights reserved
/// 数据访问基础类
/// 用户可以修改满足自己项目的需要。
/// </summary>
public class DataBaseLayer
{
//数据库连接字符串(web.config来配置)
//<add key="ConnectionString" value="server=127.0.0.1;database=DATABASE;uid=sa;pwd=" />
private string connectionString;
public string ConntionString
{
get
{
return connectionString ;
}
set
{
}
}
public DataBaseLayer(string strConnect,string dataType)
{
this.ConntionString = strConnect;
this.DbType = dataType;
}
public DataBaseLayer()
{
this.connectionString = ConfigurationSettings.AppSettings["ConnectionString"] ;
this.dbType = ConfigurationSettings.AppSettings["DataType"] ;
//this.connectionString = "data source=192.168.1.43;user id=sa;pwd=sa;database=temphrdb";
//this.dbType = "SqlServer";
}
/**//// <summary>
/// 数据库类型
/// </summary>
private string dbType;
public string DbType
{
get
{
if ( dbType == string.Empty || dbType == null )
{
剩余39页未读,继续阅读
- 粉丝: 10
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统