• 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; 
      }
     
     }
     
       
    }
     
        
  • 相关阅读:
    Unity使用代码动态给按钮赋值各个状态下的图片
    设计模式之建造者模式
    设计模式之原型模式
    Unity加载外部图片
    Unity跳转场景
    设计模式之工厂模式
    设计模式之单例模式
    Unity、C#读取XML
    Unity3D使用EasyMovieTexture插件播放视频
    字符串相似度算法——Levenshtein Distance算法
  • 原文地址:https://www.cnblogs.com/kokoliu/p/487906.html
Copyright © 2020-2023  润新知