国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Dbconn 連接問題

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

/// <summary>
/// DataAccess 的摘要說明。
/// <description>數(shù)據(jù)處理基類,調(diào)用方式:DataAccess.DataSet((string)sqlstr);或者DataAccess.DataSet((string)sqlstr,ref DataSet ds); </description>
/// </summary>
public class Dbconn
{
    #region 屬性

    protected static SqlConnection conn = new SqlConnection();
    //protected static bool mustCloseConnection = false;
    //protected static SqlCommand comm = new SqlCommand();
    #endregion
    public Dbconn()
    {
        //init();
    }
    #region 內(nèi)部函數(shù) 靜態(tài)方法中不會執(zhí)行Dbconn()構(gòu)造函數(shù)

    /// <summary>
    /// 打開數(shù)據(jù)庫連接
    /// </summary>
    private static void openConnection()
    {
        //SysConfig.ConnectionString 為系統(tǒng)配置類中連接字符串,如:"server=localhost;database=databasename;uid=sa;pwd=;"
        if (conn.State == ConnectionState.Closed)
        {
            conn.ConnectionString = ConfigurationManager.AppSettings["DBConnStr"]; //SysConfig.ConnectionString;
            conn.Open();
        }
        else
        {
            conn.Close();
            conn.ConnectionString = ConfigurationManager.AppSettings["DBConnStr"]; //SysConfig.ConnectionString;
            conn.Open();
        }
        //if (conn.State == ConnectionState.Closed)
        //{
        //    conn.ConnectionString = ConfigurationManager.AppSettings["DBConnStr"]; //SysConfig.ConnectionString;
        //    comm.Connection = conn;
        //    conn.Open();
        //}
        //else if (conn.State == ConnectionState.Broken)
        //{
        //    conn.ConnectionString = ConfigurationManager.AppSettings["DBConnStr"]; //SysConfig.ConnectionString;
        //    comm.Connection = conn;
        //    conn.Close();
        //    conn.Open();
        //}

    }
    /// <summary>
    /// 關(guān)閉當(dāng)前數(shù)據(jù)庫連接
    /// </summary>
    private static void closeConnection()
    {
        if (conn.State == ConnectionState.Open)
            conn.Close();
        conn.Dispose();
        //comm.Dispose();
    }
    #endregion
    /// <summary>
    /// 執(zhí)行Sql查詢語句
    /// </summary>
    /// <param >傳入的Sql語句</param>
    public static void ExecuteSql(string sqlstr)
    {
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            comm.ExecuteNonQuery();
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
    }

    /// <summary>
    /// 執(zhí)行存儲過程
    /// </summary>
    /// <param >存儲過程名</param>
    /// <param >SqlParameters 集合</param>
    public static void ExecutePorcedure(string procName, SqlParameter[] coll)
    {
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            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();
            comm.Dispose();
            closeConnection();
        }
    }

    /// <summary>
    /// 執(zhí)行存儲過程并返回數(shù)據(jù)集
    /// </summary>
    /// <param >存儲過程名稱</param>
    /// <param >SqlParameter集合</param>
    /// <param >DataSet </param>
    public static void ExecutePorcedure(string procName, SqlParameter[] coll, ref DataSet ds)
    {
        SqlCommand comm = new SqlCommand();
        SqlDataAdapter da = new SqlDataAdapter();
        try
        {
           
            openConnection();
            comm.Connection = conn;
            for (int i = 0; i < coll.Length; i++)
            {
                comm.Parameters.Add(coll[i]);
            }
            comm.CommandType = CommandType.StoredProcedure;
            comm.CommandText = procName;
            comm.ExecuteNonQuery();
            da.SelectCommand = comm;
            da.Fill(ds);
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Parameters.Clear();
            comm.Dispose();
            closeConnection();
        }
    }


    /// <summary>
    /// 執(zhí)行Sql查詢語句并返回第一行的第一條記錄,返回值為object 使用時需要拆箱操作 -> Unbox
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <returns>object 返回值 </returns>
    public static object ExecuteScalar(string sqlstr)
    {
        object obj = new object();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            obj = comm.ExecuteScalar();
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
        return obj;
    }

    /// <summary>
    /// 執(zhí)行Sql查詢語句,同時進行事務(wù)處理
    /// </summary>
    /// <param >傳入的Sql語句</param>
    public static void ExecuteSqlWithTransaction(string sqlstr)
    {
        SqlTransaction trans;
        trans = conn.BeginTransaction();
        SqlCommand comm = new SqlCommand();
        comm.Transaction = trans;
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            comm.ExecuteNonQuery();
            trans.Commit();
        }
        catch
        {
            trans.Rollback();
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
    }

    /// <summary>
    /// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接
    /// 方法關(guān)閉數(shù)據(jù)庫連接
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <returns>SqlDataReader對象</returns>
    public static SqlDataReader dataReader(string sqlstr)
    {
        SqlDataReader dr = null;
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandText = sqlstr;
            comm.CommandType = CommandType.Text;
            dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
            comm.Dispose();
        }
        catch
        {
            try
            {
                if (dr != null && !dr.IsClosed)
                    dr.Close();
                closeConnection();
            }
            catch
            {
            }
        }
        return dr;
    }
    /// <summary>
    /// 返回指定Sql語句的SqlDataReader,請注意,在使用后請關(guān)閉本對象,同時將自動調(diào)用closeConnection()來關(guān)閉數(shù)據(jù)庫連接
    /// 方法關(guān)閉數(shù)據(jù)庫連接
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <param >傳入的ref DataReader 對象</param>
    public static void dataReader(string sqlstr, ref SqlDataReader dr)
    {
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandText = sqlstr;
            comm.CommandType = CommandType.Text;
            dr = comm.ExecuteReader(CommandBehavior.CloseConnection);
        }
        catch
        {
            try
            {
                if (dr != null && !dr.IsClosed)
                    dr.Close();
            }
            catch
            {
            }
            finally
            {
                comm.Dispose();
                closeConnection();
            }
        }
    }


    /// <summary>
    /// 返回指定Sql語句的DataSet
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <returns>DataSet</returns>
    public static DataSet dataSet(string sqlstr)
    {
        DataSet ds = new DataSet();
        SqlCommand comm = new SqlCommand();
        SqlDataAdapter da = new SqlDataAdapter();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            da.SelectCommand = comm;
            da.Fill(ds);
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
        return ds;
    }

    /// <summary>
    /// 返回指定Sql語句的DataSet
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <param >傳入的引用DataSet對象</param>
    public static void dataSet(string sqlstr, ref DataSet ds)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            da.SelectCommand = comm;
            da.Fill(ds);
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
    }
    /// <summary>
    /// 返回指定Sql語句的DataTable
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <returns>DataTable</returns>
    public static DataTable dataTable(string sqlstr)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        DataTable datatable = new DataTable();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            da.SelectCommand = comm;
            da.Fill(datatable);
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
        return datatable;
    }

    /// <summary>
    /// 執(zhí)行帶參數(shù)存儲過程并返回數(shù)據(jù)集合
    /// </summary>
    /// <param >存儲過程名稱</param>
    /// <param >SqlParameterCollection 輸入?yún)?shù)--此處改為SqlParameter對象(kxy 2006-11-11)</param>
    /// <returns></returns>
    public static DataTable dataTable(string procName, SqlParameter[] parameters)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        DataTable datatable = new DataTable();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            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
        {
            comm.Dispose();
            closeConnection();
        }
        return datatable;
    }

    /// <summary>
    /// 執(zhí)行指定Sql語句,同時給傳入DataTable進行賦值
    /// </summary>
    /// <param >傳入的Sql語句</param>
    /// <param >ref DataTable dt </param>
    public static void dataTable(string sqlstr, ref DataTable dt)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            comm.CommandType = CommandType.Text;
            comm.CommandText = sqlstr;
            da.SelectCommand = comm;
            da.Fill(dt);
        }
        catch (Exception e)
        {
            throw new Exception(e.Message);
        }
        finally
        {
            comm.Dispose();
            closeConnection();
        }
    }

    public static DataView dataView(string sqlstr)
    {
        SqlDataAdapter da = new SqlDataAdapter();
        DataView dv = new DataView();
        DataSet ds = new DataSet();
        SqlCommand comm = new SqlCommand();
        try
        {
            openConnection();
            comm.Connection = conn;
            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
        {
            comm.Dispose();
            closeConnection();
        }
        return dv;
    }

}

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Asp.net Access 數(shù)據(jù)訪問通用類
asp.net數(shù)據(jù)庫連接,三層架構(gòu)方法調(diào)用
C#數(shù)據(jù)庫連接
VS連接SQL Server數(shù)據(jù)庫,增刪改查詳細(xì)教程(C#代碼)
C#調(diào)用存儲過程
.net執(zhí)行存儲過程 - 生活就是在不能堅持的時候繼續(xù)堅持 - 博客園
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服