我的数据访问层的源代码(一)

/************************
 * 金色海洋工作室 —— 数据访问层
 * 
 * 数据访问层(SQL Server 版)
 * 
 * 最后修改时间:2006年8月15日
 ***********************
*/


using  System;
using  System.Data;
using  System.Data.SqlClient;
using  JYK.DataStruct;             // 结构,用于“实体类”
// using System.Security.Principal;

namespace  JYK
{
    
/// <summary>
    
/// 存储过程的参数的类型,在输出型的参数里使用。
    
/// </summary>

    public enum ParameterKind
    
{
        Int,Double,Decimal,NVarChar,Bit
    }


    
/// <summary>
    
/// 这是一个通用的数据访问层接口。对ADO.NET的封装。功能类似于 SQLHelper ,但是比SQLHelper要简洁和高效。
    
/// </summary>

    public sealed class DataAccessLayer
    
{
        
属性

        
public DataAccessLayer()    //构造函数
        {
            
//默认不使用事务
            isUseTrans = false;        
            
//获取连接字符串
            cm = new SqlCommand();
            cm.Connection 
= new SqlConnection("获取连接字符串");
            
//JYK.Connection.ConnectionString
            
//初始化错误信息
            errorMsg="0";    
            isShowErrorSQL 
= true;  //本地运行,显示出错的查询语句(包括存储过程名程)
            
//isShowErrorSQL = false; //服务器运行,不显示出错的查询语句(包括存储过程名程)
        }

        
        
内部函数 

        
记录错误日志

        
//事务日志
        事务处理部分。并没有做太多的测试,有不合理的地方请多指教

未完,待续......
}

}

 

 

由于代码比较长,所以呢分成几个部分显示。

1. 所有SQL语句都放在不同的XML檔中(一个业务类使用一个XML檔),该档可用工具维护。大大节省开发及维护时间。2. 当数据库结构改变时,只需修改SQL配置文件(用DBMap工具维护),而不用改代码(如果结构改变影响到页面,当然也要改页面,如在查询SQL中多加一个字段,而这个字段需要在页面上显示,当然要在页面中加上显示该字段的列,又如一个表增加了一个字段,而该字段需要在页面上输入,这时也要修改页面,增加输入该字段值的列,除此之外不需要修改其它代码)。3.没有用代码来自动生成SQL语句(除新增、修改外),而是手工编写SQL语句(然后用DBMap工具维护SQL配置文件),可以对SQL语句进行最大优化。4.支持任何形式的SQL语句,包括存储过程。可以在SQL语句中使用数据库的任何函数(如果使用某个数据库的专用函数,在更换数据库系统时会带来麻烦)。5.支持动态查询,可任意指定查询条件,且查询条件个数不确定。支持数据库分页(需存储过程支持)。6. 支持数据缓存功能,可为每个SQL语句分别设定是否使用缓存、缓存类别(依赖数据库、绝对时间、相对时间),缓存时间。7.支持所有数据库,理论上与数据库系统无关(如果不使用数据库的专用功能时),可任意更换数据库系统。8.支持同时连接多个数据库,这些数据库甚至是不同的数据库系统。9.支持多国语言,可方便开发多国语言系统。10.支持系统参数及讯息设定,可灵活设定系统参数,可自己定义显示信息。11.支持错误日志功能,可设定是否使用日志、是否将日志email给指定的人员(如测试员,开发人员等)12.最大特点是简单,使用方便,没有其它DAL那种复杂的配置及使用,如果你正在找一个使用简单,能节省大量时间的数据访问,这个也许就是你要找的。13.该类库仅仅是把对数据库操作的常用代码封装而已,并没有真正意义的ORM,充其量只算半个ORM,程序还是“依赖”数据表的字段(实际应用时,数据表的字段名很少改变)。关于这个问题很难说得清楚,只有真正用时才会体会到,呵呵…,这个就不多说了,有兴趣的朋友可以试用一下,有问题请直接联系我(e865@163.com)。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值