您的位置:首页 > 编程语言 > ASP

asp.net数据库操作类(不含存储过程)

2008-03-25 14:46 281 查看
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace class_new
{
 /// <summary>
 /// DataClass 的摘要说明。
 /// </summary>
 public class DataClass
 {
  private string strConnection="";
  private SqlConnection myConnection=null;

  /// <summary>
  /// 默认构造函数
  /// </summary>
  public DataClass()
  {
   strConnection=ConfigurationSettings.AppSettings["connstring"];
  }

  /// <summary>
  /// 带参数的构造函数
  /// </summary>
  /// <param name="newConnectionString">数据库联接字符串</param>
  public DataClass(string newConnectionString)
  {
   strConnection=newConnectionString;
  }
  /// <summary>
  /// 打开数据库连接.
  /// </summary>
  private bool Open()
  {
   try
   {
    if(myConnection!=null)
    {
     if(myConnection.State==ConnectionState.Open)
     {
      myConnection.Close();
     }
    }
    myConnection=new SqlConnection(strConnection.Trim());
    myConnection.Open();
    return true;
   }
   catch(Exception ex)
   {  
    SystemError.SystemLog(ex.Message);
    return false;
   }
  }
  ///<summary>
  ///关闭数据库连接
  ///</summary>
  public  void Close()
  {
   ///判断连接是否已经创建
   if (myConnection != null)
   {   ///判断连接的状态是否已经打开
    if (myConnection.State == ConnectionState.Open)
    {
     myConnection.Close();
    }
   }
  }
  /// <summary>
  /// 释放资源
  /// </summary>
  public void Dispose()
  {
   // 确认连接是否已经关闭
   if (myConnection != null)
   {
    myConnection.Dispose();
    myConnection = null;
   }    
  }
  /// <summary>
  /// 执行一条SQL语句,此语句直接操作数据库,不返回结果集
  /// </summary>
  /// <param name="strSql">SQL语句</param>
  /// <param name="Numr">返回受影响的行数</param>
  /// <returns>是否执行成功</returns>
  public bool executeSql(string strSql,out int Num)
  {
   Num=0;
   if(Open())
   {
    SqlTransaction myTrans = myConnection.BeginTransaction();
    try
    {
     SqlCommand myCmd = new SqlCommand(strSql,myConnection,myTrans);
     Num=myCmd.ExecuteNonQuery();
     myTrans.Commit();
     Close();
     return true;
    }
    catch(Exception ex)
    { 
     myTrans.Rollback();
     SystemError.SystemLog(ex.Message);
     Close();    
     return false;
    }
   }
   return false;
  }
  /// <summary>
  /// 执行SQL语句,返回数据 DataSet
  /// </summary>
  /// <param name="strSql"></param>
  /// <returns></returns>
  public DataSet getDataSet(string strSql)
  {
   DataSet dataSet1=null;
   SqlDataAdapter adapter1;
   if(Open())
   {
    try
    {
     adapter1=new SqlDataAdapter(strSql,myConnection);
     dataSet1=new DataSet();
     adapter1.Fill(dataSet1,"tablename");
    }
    catch
    {
     dataSet1=null;
    }
    finally
    {
     Close();///关闭已经打开的数据库连接    
    }
    
   }
   return dataSet1;
  }
  /// <summary>
  /// 执行SQL语句,返回 DataReader
  /// </summary>
  /// <param name="strSql"></param>
  /// <returns></returns>
  public SqlDataReader ReturnDataReader(String strSql)
  {
   SqlDataReader read1=null;
   if(Open())
   {
    try
    {
     SqlCommand cmd;
     cmd=myConnection.CreateCommand();
     cmd.CommandText=strSql;
     read1=cmd.ExecuteReader();
    }
    catch
    {
     read1=null;
    }
    
   }
   return read1;
  }

 }
}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息