多层多数据库模式开发的实验(五)数据层-Access数据库
2008-11-07 16:02
288 查看
经过上篇文章的介绍,我们初步了解了如何实现多数据库的切换。下面,我们要具体实现各种数据库的操作,首先来看看Access数据库。
因为很多数据访问操作流程很相似,所以,这里将一些可复用的代码抽取出来,编写成助手类,以此减少代码量,提高代码复用性。这个助手类取名SQLHelper,主要负责Access数据库的访问。它包括一个私有方法,三个公有方法:
//从配置文件中读取配置项,组合成连接字符串。
private static string GetConnectionString()
//执行指定SQL语句,不返回任何值,一般用于Insert,Delete,Update命令。
public static void ExecuteSQLNonQuery(string SQLCommand, OleDbParameter[] parameters)
//执行SQL语句返回查询结果,一般用于Select命令。
public static DataSet ExecuteSQLDataSet(string SQLCommand)
//重载,一般用于需要传入参数的Select命令
public static DataSet ExecuteSQLDataSet(string SQLCommand, OleDbParameter[] parameters)
SQLHelper具体代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Caching;
using System.Data;
using MWC.Utility;
using System.Data.OleDb;
namespace MWC.DAL.Access
在前几篇文章已经说过,客户端选择了Web。因为我们用到了一些特殊的地方,导致无法完全按照替换原则进行层替换(即客户端可以既是web,也可以是winform)。指的就是这里用到了缓存“using System.Web.Caching;”。当然,也可以采用一些方法来避免使用。我这里有点偷懒了,抱歉!
CacheUtility类的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Caching;
namespace MWC.Utility
加入缓存的好处主要是为了提高性能。程序每次读取设置时首先从缓存中去取,如果存在就使用。否则重新从web.config中读取,并将读取的保存到缓存中,以便下次调用。
注:这段缓存代码借鉴了“T2噬菌体”的代码,在此予以注明。该作者写的多层多数据库的技术含量比我强多了,建议大家可以去学习。
有了访问助手类,具体对象的数据访问就简洁明了多了,下面是实现代码:
用户User:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.Interface;
using System.Data;
using System.Data.OleDb;
namespace MWC.DAL.Access
部门、群组Group:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.Interface;
using System.Data;
using System.Data.OleDb;
namespace MWC.DAL.Access
因为很多数据访问操作流程很相似,所以,这里将一些可复用的代码抽取出来,编写成助手类,以此减少代码量,提高代码复用性。这个助手类取名SQLHelper,主要负责Access数据库的访问。它包括一个私有方法,三个公有方法:
//从配置文件中读取配置项,组合成连接字符串。
private static string GetConnectionString()
//执行指定SQL语句,不返回任何值,一般用于Insert,Delete,Update命令。
public static void ExecuteSQLNonQuery(string SQLCommand, OleDbParameter[] parameters)
//执行SQL语句返回查询结果,一般用于Select命令。
public static DataSet ExecuteSQLDataSet(string SQLCommand)
//重载,一般用于需要传入参数的Select命令
public static DataSet ExecuteSQLDataSet(string SQLCommand, OleDbParameter[] parameters)
SQLHelper具体代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Caching;
using System.Data;
using MWC.Utility;
using System.Data.OleDb;
namespace MWC.DAL.Access
在前几篇文章已经说过,客户端选择了Web。因为我们用到了一些特殊的地方,导致无法完全按照替换原则进行层替换(即客户端可以既是web,也可以是winform)。指的就是这里用到了缓存“using System.Web.Caching;”。当然,也可以采用一些方法来避免使用。我这里有点偷懒了,抱歉!
CacheUtility类的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Caching;
namespace MWC.Utility
加入缓存的好处主要是为了提高性能。程序每次读取设置时首先从缓存中去取,如果存在就使用。否则重新从web.config中读取,并将读取的保存到缓存中,以便下次调用。
注:这段缓存代码借鉴了“T2噬菌体”的代码,在此予以注明。该作者写的多层多数据库的技术含量比我强多了,建议大家可以去学习。
有了访问助手类,具体对象的数据访问就简洁明了多了,下面是实现代码:
用户User:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.Interface;
using System.Data;
using System.Data.OleDb;
namespace MWC.DAL.Access
部门、群组Group:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MWC.Entity;
using MWC.Interface;
using System.Data;
using System.Data.OleDb;
namespace MWC.DAL.Access
相关文章推荐
- 多层多数据库模式开发的实验(四)数据层-工厂
- 多层多数据库模式开发的实验(六)数据层-SQLServer数据库
- 多层多数据库模式开发的实验(二)实体
- [导入]多层多数据库模式开发的实验(二)实体
- 多层多数据库模式开发的实验(七)逻辑层
- [导入]多层多数据库模式开发的实验(一)框架
- 多层多数据库模式开发的实验(三)接口
- 多层多数据库模式开发的实验(八)表示层
- 多层多数据库模式开发的实验(一)框架
- 多层数据库开发十二:使用数据控件
- 多层数据库开发十二:使用数据控件
- 多层数据库开发十二:使用数据控件
- CCFlow SDK模式开发(有比较详细的代码,以服务的形式与ccflow数据库进行数据交互)
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- 多层数据库开发九:查询数据库
- 【Android 开发】:数据存储之 SQLite 数据库操作(二)
- 求救!用Access数据库插入数据,INSERT INTO语句总是出现错误,但同样的语句格式,用SQL Server 2000数据库,不出现错误!
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式,并把SQLite的数据库文件存储在SD卡中!!!
- 【技术支持】开发人员从客户数据库环境中导出数据用户测试的几种方法途径
- RMAN数据库恢复 之归档模式有(无)备份-丢失数据文件的恢复