设为首页  加入收藏 
网上投稿 网站地图
您现在的位置: 天添资源网 >> 电脑网络 >> 网络编程 >> NET专区 >> 正文

中小系统.net DataAccess数据访问类

本站文章非会员原创,如果侵犯了你的权利请联系13978471165
作者:佚名    电脑来源:中国站长站    点击数:    更新时间:2008-1-8
 

#region 引用对象
using System;
using System.Xml ;
using System.Data;
using System.Data.SqlClient;
using System.Web; 
#endregion
namespace SysClassLibrary
{
 /// <summary>
 /// DataAccess 的摘要说明。
 /// <author>wuchen</author>
 /// <date>2004-4-12</date>
 /// <email>scwuchen@263.net</email>
 /// <description>数据处理基类,调用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description>
 /// </summary>
 public class DataAccess
 {

 #region  属性
   
  /// <summary>
  /// 是否必须关闭数据库连接
  /// </summary>
  public static bool mustCloseConnection
  {
   get
   {
    return _mustCloseConnection;
   }
   set
   {
    _mustCloseConnection=value;
   }
  }
  /// <summary>
  /// 连接字符串
  /// </summary>
  public static string connectionString
  {
   get
   {
    if(_connectionString ==string.Empty)
     return SysConfig.ConnectionString ;
    else
     return _connectionString;
   }
   set
   {
    _connectionString =value;
   }
  }
  /// <summary>
  /// 是否关闭数据库连接
  /// </summary>
  private static bool _mustCloseConnection = true; 
  private static string _connectionString =string.Empty ; 

  #endregion
 

  #region 类构造函数
  
  /// <summary>
  /// 构造函数
  /// </summary>
  public DataAccess()
  {
  }

  /// <summary>
  /// 析构函数,释放相应的对象
  /// </summary>
  ~DataAccess()
  {
  }

  #endregion

     #region  Method
  
  /// <summary>
  /// 执行Sql查询语句
  /// </summary>
  /// <param name="sqlstr">传入的Sql语句</param>
  ///<returns >i </returns>
  public static int ExecuteSql(string sqlstr){
   int i=0;
   using (SqlConnection conn =new SqlConnection(connectionString))
   {
    SqlCommand comm=new SqlCommand();
    comm.Connection =conn;
    comm.CommandType =CommandType.Text ;
    comm.CommandText =sqlstr;
    try
    {
     conn.Open();
     i=comm.ExecuteNonQuery();
    }
    catch(SqlException e)
    {
     new ErrorLog().SaveDataAccessError(e);
    }
    finally
    {
     conn.Close();
     comm.Dispose();
    }
   }
   return i;
  }

  /// <summary>
  /// 执行存储过程
  /// </summary>
  /// <param name="procName">存储过程名</param>
  /// <param name="coll">SqlParameters 集合</param>
  public static void ExecutePorcedure(string procName,SqlParameter[] coll)
  {
   using (SqlConnection conn =new SqlConnection(connectionString))
   {
    SqlCommand comm=new SqlCommand();
    comm.Connection =conn;
    comm.CommandType =CommandType.StoredProcedure ;
    ExecutePorcedure(procName,coll,conn,comm);
   }
  }

  public static void ExecutePorcedure(string procName,SqlParameter[] coll,ref DataSet ds)
  {
   using (SqlConnection conn =new SqlConnection(connectionString))
   {
    SqlCommand comm=new SqlCommand();
    comm.Connection =conn;
    comm.CommandType =CommandType.StoredProcedure ;
    ExecutePorcedure(procName,coll,conn,comm,ref ds);
   }
  }

  /// <summary>
  /// 执行存储过程类
  /// </summary>
  /// <param name="procName"></param>
  /// <param name="coll"></param>
  /// <param name="conn"></param>
  /// <param name="comm"></param>
  public static void ExecutePorcedure(string procName,SqlParameter[] coll,SqlConnection conn,SqlCommand comm)
  {
   if(procName ==null || procName=="")
    throw new SqlNullException();
   try
   {
    conn.Open(); 
    for(int i=0;i<coll.Length;i++)
    {
     comm.Parameters .Add(coll[i]);
    }
    comm.CommandType=CommandType.StoredProcedure ;
    comm.CommandText =procName;
    comm.ExecuteNonQuery();
   }
   catch(SqlException e)
   {
    new ErrorLog().SaveDataAccessError(e);
   }
   finally
   {
    comm.Parameters.Clear();
    conn.Close();
    comm.Dispose();
   }
  }

  public static void ExecutePorcedure(string procName,SqlParameter[] coll,SqlConnection conn,SqlCommand comm,ref DataSet ds)
  {
   if(procName ==null || procName=="")
    throw new SqlNullException();
   try
   {
    SqlDataAdapter da =new SqlDataAdapter();
    conn.Open(); 
    for(int i=0;i<coll.Length;i++)
    {
     comm.Parameters .Add(coll[i]);
    }
    comm.CommandType=CommandType.StoredProcedure ;
    comm.CommandText =procName;
    da.SelectCommand = comm;
    da.Fill(ds);
   }
   catch(SqlException e)
   {
    new ErrorLog().SaveDataAccessError(e);
   }
   finally
   {
    comm.Parameters.Clear();
    conn.Close();
    comm.Dispose();
   }
  }


  /// <summary>
  /// 执行Sql查询语句并返回第一行的第一条记录,返回值为object 使用时需要拆箱操作 -> Unbox
  /// <

[1] [2] [3] [4] 下一页

  • 上一个电脑:

  • 下一个电脑: 没有了
  • ■■相 关 文 章: 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    MapX从数据库读取数据形成新图层
    程序集应该拥有一个有效的强名称
    一个Web文件上传的C#源代码
    程序控制开始菜单的弹出 C#
    .NET中使用datagrid实现的简单分…
    c#重点知识详解(六)
    c#重点知识解答(五)
    关于我们 | 联系我们 | 客户服务 | 申请链接 | 合作联盟 | 诚征代理 | 诚聘英才
      www.ttzyw.com
    备案序号:桂ICP备号