一个sql的基本类.sqlbase

using  System;
using  System.Data;
using  System.Configuration;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Data.SqlClient;
using  System.Collections;
/// <summary>
/// sql_base 的摘要说明
/// </summary>

public   class  sql_base:IDisposable
{
    
public sql_base():this("")
    
{
        
//
        
// TODO: 在此处添加构造函数逻辑
        
//
    }

    
//重载
    public sql_base(string sql_name)
       
{
           
this.SQL_name = sql_name;
       }

       
private string sql_name;
       
private SqlCommand mycomm;
       
private string myconn = ConfigurationSettings.AppSettings["conn"];
       
public SqlConnection conn;
    
//公共变量
    public string SQL_name
    
{
        
get
        

            
return this.sql_name;
        }

        
set
        
{
            sql_name 
= value;
        }

    
    }

    
/// <summary>
    
/// 执行SQL语句,返回数据集:DataTable或DataSet
    
/// </summary>
    
/// <returns>返回DALResult</returns>
    
/// 

        public DALResult ExecuteSqlData()
       
{
           DALResult result 
= new DALResult();
           conn
=new SqlConnection(myconn);
           mycomm 
= new SqlCommand(sql_name,this.conn);
           mycomm.CommandType 
= CommandType.Text;
           SqlDataAdapter da 
= new SqlDataAdapter(mycomm);
           conn.Open();
           
using (SqlTransaction trans = conn.BeginTransaction())
           
{
               
try
               
{
                   
if (trans != null)
                   
{ mycomm.Transaction = trans; }
                   da.Fill(result.dataset);
                   
if (result.dataset.Tables.Count > 0)
                   
{
                       result.datatable 
= result.dataset.Tables[0].Copy();
                       
if (result.dataset.Tables[0].Rows.Count > 0)
                       
{ result.rowsCount = result.dataset.Tables[0].Rows.Count; }

                   }

                   result.IsSucceed 
= true;
                 
                   
//提交事物
                   trans.Commit();
               }

               
catch (Exception e)
               
{
                   result.errorMessage 
= e.Message;
               }

               
//如果捕捉了异常,但仍会执行包括在 finally 块中的输出语句
               finally
               
{
                   da.Dispose();
                   mycomm.Dispose();
                   conn.Close();
                   conn.Dispose();
               }

           }

           
return result;
            
           
           }

       
public void Dispose()
       
{
           Dispose(
true);
           GC.SuppressFinalize(
true);
       }


       
protected virtual void Dispose(bool disposing)
       
{
           
if (!disposing)
               
return;
           
if (conn != null)
           
{
               conn.Dispose();
           }

       }



    }

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


/// <summary>
/// DALResult 的摘要说明
/// </summary>

public   class  DALResult
    
{
        
public bool IsSucceed;            //存储过程是否执行成功
        public string errorMessage;        //访问数据库失败
        public int rowsCount;            //结果集行数.
        public object theFirst;            //第一行第一列
        public Hashtable OutputValues;    //存储过程output值,放在(HashTable)表OutputValues里.        
        public DataTable datatable;        //存储过程返回的结果集,放在(DataTable)表datatable里.
        public DataSet dataset;            //存储过程返回的结果集,放在DataSet表中

        
public DALResult()
        
{
            IsSucceed 
= false;
            rowsCount 
= 0;
            errorMessage 
= "";
            theFirst 
= null;
            OutputValues 
= new Hashtable();
            datatable 
= new DataTable();
            dataset 
= new DataSet();
             
            
        }

    }


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值