Beyond the dream——飛雪飄寒

————磨難不過是人生鍵盤的回車。。。。。。
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

.net数据库操作类(C#)——V2.0

Posted on 2008-12-02 16:58  飛雪飄寒  阅读(2705)  评论(5编辑  收藏  举报
       ASP.NET中一般都是使用SQL Server作为后台数据库。一般的ASP.NET数据库操作示例程序都是使用单独的数据访问,就是说每个页面都写连接到数据库,存取数据,关闭数据库的代码。这种方式带来了一些弊端,一个就是如果你的数据库改变了,你必须一个页面一个页面的去更改数据库连接代码。第二个弊端就是代码冗余,很多代码都是重复的,不必要的。因此,我试图通过一种一致的数据库操作类来实现ASP.NET的数据访问,在我之前的文章.net数据库操作类(C#)  中已经简单总结了对数据库的操作,现在.net数据库操作类(C#)  的基础上进行了如下改进:
     1、添加了事务处理机制;
     2、添加了SQL参数化操作;
     3、添加了对存储过程的操作;
     4、添加了对SQL参数和存储过程的综合操作;
     现把.net数据库操作类代码公布出来,如有问题,欢迎大家指正!
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.IO;
using System.Globalization;

namespace VoteInfo
{
    
public class DataAccess
    
{
        
定义

        
属性集 
       
        
DataAccess的构造函数

        
ExecuteNonQuery

        
ExecuteScalar

        
ExecuteDataSet

        
ExecuteDataTable

        
ExecuteDataReader

        
ExecuteProcNonQuery

        
ExecuteProcScalar

        
ExecuteProcDataSet

        
ExecuteProcDataTable        

        
FillParameterValue
    }
        
}

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;

namespace VoteInfo
{
    
/// <summary>
    
/// SQL参数结构体
    
/// </summary>

    public struct ParamInfo
    
{
        
/// <summary>
        
/// 参数名称
        
/// </summary>

        public string Name;

        
/// <summary>
        
/// 值
        
/// </summary>

        public object Value;

        
/// <summary>
        
/// 参数长度
        
/// </summary>

        public int Size;

        
/// <summary>
        
/// 参数方向
        
/// </summary>

        public ParameterDirection Direction;

        
/// <summary>
        
/// 初始化参数对象
        
/// </summary>
        
/// <param name="name">参数名称</param>
        
/// <param name="val"></param>

        public ParamInfo(string name, object val)
        
{
            Name 
= name;
            Value 
= val;
            Direction 
= ParameterDirection.Input;
            Size 
= Value == null ? 50 : Value.ToString().Length;
        }


        
/// <summary>
        
/// 初始化参数对象
        
/// </summary>
        
/// <param name="name">参数名称</param>
        
/// <param name="val"></param>
        
/// <param name="direction"></param>

        public ParamInfo(string name, object val, ParameterDirection direction)
        
{
            Name 
= name;
            Value 
= val;
            Direction 
= direction;
            Size 
= Value == null ? 50 : Value.ToString().Length;
        }


        
public ParamInfo(string name, object val, ParameterDirection direction, int size)
        
{
            Name 
= name;
            Value 
= val;
            Direction 
= direction;
            Size 
= size;
        }

    }

}