zoukankan      html  css  js  c++  java
  • ASP.NET 数据访问类 SQLSERVER

    using System; 
    using System.Data; 
    using System.Data.SqlClient; 
       
    namespace SysClassLibrary 

     
    /// <summary> 
     
    /// DataAccess 的摘要说明。 
     
    /// <description>数据处理基类,调用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description> 
     
    /// </summary> 

     public class DataAccess 
     

      
    属性 
      
    public DataAccess() 
      

       
    //init(); 
      }
     
      
    内部函数 静态方法中不会执行DataAccess()构造函数 
      
    /// <summary> 
      
    /// 执行Sql查询语句 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 

      public static void ExecuteSql(string sqlstr) 
      

       
       
       
       
       
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        comm.ExecuteNonQuery(); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
      }
     
       
      
    /// <summary> 
      
    /// 执行存储过程 
      
    /// </summary> 
      
    /// <param name="procName">存储过程名</param> 
      
    /// <param name="coll">SqlParameters 集合</param> 

      public static void ExecutePorcedure(string procName,SqlParameter[] coll) 
      

       
    try 
       

        openConnection(); 
        
    for(int i=0;i<coll.Length;i++
        

         comm.Parameters .Add(coll[i]); 
        }
     
        comm.CommandType
    =CommandType.StoredProcedure ; 
        comm.CommandText 
    =procName; 
        comm.ExecuteNonQuery(); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        comm.Parameters.Clear(); 
        closeConnection(); 
       }
     
      }
     
       
      
    /// <summary> 
      
    /// 执行存储过程并返回数据集 
      
    /// </summary> 
      
    /// <param name="procName">存储过程名称</param> 
      
    /// <param name="coll">SqlParameter集合</param> 
      
    /// <param name="ds">DataSet </param> 

      public static void ExecutePorcedure(string procName,SqlParameter[] coll,ref DataSet ds) 
      

       
    try 
       

        SqlDataAdapter da
    =new SqlDataAdapter(); 
        openConnection(); 
        
    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(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        comm.Parameters.Clear(); 
        closeConnection(); 
       }
     
      }
     
       
      
    /// <summary> 
      
    /// 执行Sql查询语句并返回第一行的第一条记录,返回值为object 使用时需要拆箱操作 -> Unbox 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <returns>object 返回值 </returns> 

      public static object ExecuteScalar(string sqlstr) 
      

       
    object obj=new object(); 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        obj
    =comm.ExecuteScalar(); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
       
    return obj; 
      }
     
       
      
    /// <summary> 
      
    /// 执行Sql查询语句,同时进行事务处理 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 

      public static void ExecuteSqlWithTransaction(string sqlstr) 
      

       SqlTransaction trans ; 
       trans
    =conn.BeginTransaction(); 
       comm.Transaction 
    =trans; 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        comm.ExecuteNonQuery(); 
       
        trans.Commit(); 
       }
     
       
    catch 
       

        trans.Rollback(); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
      }
     
       
      
    /// <summary> 
      
    /// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接 
      
    /// 方法关闭数据库连接 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <returns>SqlDataReader对象</returns> 

      public static SqlDataReader dataReader(string sqlstr) 
      

       SqlDataReader dr
    =null
       
    try 
       

        openConnection(); 
        comm.CommandText 
    =sqlstr; 
        comm.CommandType 
    =CommandType.Text ; 
        dr
    =comm.ExecuteReader(CommandBehavior.CloseConnection); 
       }
     
       
    catch 
       

        
    try 
        

         dr.Close(); 
         closeConnection(); 
        }
     
        
    catch 
        

        }
     
       }
     
       
    return dr; 
      }
     
      
    /// <summary> 
      
    /// 返回指定Sql语句的SqlDataReader,请注意,在使用后请关闭本对象,同时将自动调用closeConnection()来关闭数据库连接 
      
    /// 方法关闭数据库连接 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <param name="dr">传入的ref DataReader 对象</param> 

      public static void dataReader(string sqlstr,ref SqlDataReader dr) 
      

       
    try 
       

        openConnection(); 
        comm.CommandText 
    =sqlstr; 
        comm.CommandType 
    =CommandType.Text ; 
        dr
    =comm.ExecuteReader(CommandBehavior.CloseConnection); 
       }
     
       
    catch 
       

        
    try 
        

         
    if(dr!=null && !dr.IsClosed) 
       
       
       
       
       
       
       
       
       
          dr.Close(); 
        }
     
        
    catch 
        

        }
     
        
    finally 
        

         closeConnection(); 
        }
     
       }
     
      }
     
       
      
    /// <summary> 
      
    /// 返回指定Sql语句的DataSet 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <returns>DataSet</returns> 

      public static DataSet dataSet(string sqlstr) 
      

       DataSet ds
    = new DataSet(); 
       SqlDataAdapter da
    =new SqlDataAdapter(); 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        da.SelectCommand 
    =comm; 
        da.Fill(ds); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
       
    return ds; 
      }
     
       
      
    /// <summary> 
      
    /// 返回指定Sql语句的DataSet 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <param name="ds">传入的引用DataSet对象</param> 

      public static void dataSet(string sqlstr,ref DataSet ds) 
      

       SqlDataAdapter da
    =new SqlDataAdapter(); 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        da.SelectCommand 
    =comm; 
        da.Fill(ds); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
       
    finally 
       

        closeConnection(); 
       }
     
      }
     
      
    /// <summary> 
      
    /// 返回指定Sql语句的DataTable 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <returns>DataTable</returns> 

      public static DataTable dataTable(string sqlstr) 
      

       SqlDataAdapter da
    =new SqlDataAdapter(); 
       DataTable datatable
    =new DataTable(); 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        da.SelectCommand 
    =comm; 
        da.Fill(datatable); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
       
    return datatable; 
      }
     
       
      
    /// <summary> 
      
    /// 执行指定Sql语句,同时给传入DataTable进行赋值 
      
    /// </summary> 
      
    /// <param name="sqlstr">传入的Sql语句</param> 
      
    /// <param name="dt">ref DataTable dt </param> 

      public static void dataTable(string sqlstr,ref DataTable dt) 
      

       SqlDataAdapter da
    =new SqlDataAdapter(); 
       
    try 
       

        openConnection(); 
        comm.CommandType 
    =CommandType.Text ; 
        comm.CommandText 
    =sqlstr; 
        da.SelectCommand 
    =comm; 
        da.Fill(dt); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
      }
     
      
    /// <summary> 
       
       
       
       
       
       
      
    /// 执行带参数存储过程并返回数据集合 
      
    /// </summary> 
      
    /// <param name="procName">存储过程名称</param> 
      
    /// <param name="parameters">SqlParameterCollection 输入参数</param> 
      
    /// <returns></returns> 

      public static DataTable dataTable(string procName,SqlParameterCollection parameters) 
      

       SqlDataAdapter da
    =new SqlDataAdapter(); 
       DataTable datatable
    =new DataTable(); 
       
    try 
       

        openConnection(); 
        comm.Parameters.Clear(); 
        comm.CommandType
    =CommandType.StoredProcedure ; 
        comm.CommandText 
    =procName; 
        
    foreach(SqlParameter para in parameters) 
        

         SqlParameter p
    =(SqlParameter)para; 
         comm.Parameters.Add(p); 
        }
     
        da.SelectCommand 
    =comm; 
        da.Fill(datatable); 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
       
    return datatable; 
      }
     
       
      
    public static DataView dataView(string sqlstr) 
      

       SqlDataAdapter da
    =new SqlDataAdapter(); 
       DataView dv
    =new DataView(); 
       DataSet ds
    =new DataSet(); 
       
    try 
       

        openConnection(); 
        comm.CommandType
    =CommandType.Text; 
        comm.CommandText 
    =sqlstr; 
        da.SelectCommand 
    =comm; 
        da.Fill(ds); 
        dv
    =ds.Tables[0].DefaultView; 
       }
     
       
    catch(Exception e) 
       

        
    throw new Exception(e.Message); 
       }
     
       
    finally 
       

        closeConnection(); 
       }
     
       
    return dv; 
      }
     
     }
     
       
    }
     
        
  • 相关阅读:
    第六节:流上下文
    第五节:控制序列化和反序列化的数据
    第四节:格式化器如何序列化类型实例
    第三节:控制序列化和反序列化
    第二节:使类型可序列化
    第一节:序列化和反序列化快速入门
    第五节:使用反射发现类型成员
    golang 一些坑 rang
    golang json格式字符串反序列化映射到切片结构体
    golang 结构体内嵌结构体序列化填充
  • 原文地址:https://www.cnblogs.com/kokoliu/p/487906.html
Copyright © 2011-2022 走看看