1. 程式人生 > >自己寫的個C#(ASP.NET)連線SQL資料庫執行查詢和修改操作的類

自己寫的個C#(ASP.NET)連線SQL資料庫執行查詢和修改操作的類

這是今天花了一下時間編寫的一個ASP.NET(C# ,Framework3.5)連線SQL資料庫,執行SQL語句和獲取查詢返回資料集的類。

寫完後自己感覺,肯定這東西狀態還很原始,很多高階的需求還應對不上。目前能做的恐怕還只是基本操作,而且實現的還不一定怎麼好。

不管怎樣,先放上來再說,以後慢慢改。

呃不到1天就做了不少修改。只好修改版本號了:1.0.1

修改內容如下:

類內移除了SqlDataReader類的物件。現在需要在類外定義SqlDataReader空物件並標上ref後,傳遞給SQLInquire()方法。

為方法加入了註釋程式碼,會顯示在IDE的提示中,像系統具有的提示資訊那樣。原註釋移到最末尾更名為附錄,以後可能會移除其中多餘內容。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

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


/// <summary>
///這是一個自定義的SQL資料庫操作類。裡面封裝了建立資料庫連線,和執行SQL語句的物件。
/// </summary>

//***************************
// 最後修改日期:01/08/2014
// 程式版本 V1.0.1 
//***************************

public class Conn
{
    private SqlConnection conn;    // 資料庫連線物件
    private SqlCommand sc;         // 資料庫命令執行物件

    /// <summary>
    /// 建構函式 預設 - 從配置檔案中獲取連線字串
    /// </summary>
    public Conn()
	{
        conn = new SqlConnection(ConfigurationManager.AppSettings["Conn"]);
        conn.Open();
    }


    /// <summary>
    /// 建構函式 過載1 - 由指定的字串進行連線
    /// </summary>
    /// <param name="Str">資料庫連線字串</param>
    public Conn(string Str)
    {
        conn = new SqlConnection(Str);
        conn.Open();       
    }


    /// <summary>
    /// 執行資料庫修改操作(Insert,Update,Delete)
    /// </summary>
    /// <param name="Str">要執行的SQL語句。必須為插入,修改,刪除這三種之一。</param>
    /// <returns>返回成功操作的行數。返回值為0,表示操作失敗。</returns>
    public int SQLOperate(string Str)
    {
        sc =  new SqlCommand(Str,conn);
        return sc.ExecuteNonQuery();
    }

    
    /// <summary>
    /// 執行資料庫查詢操作(Select)
    /// </summary>
    /// <param name="Str">要執行的SQL語句,必須為查詢。</param>
    /// <param name="dr">一個例項化SqlDataReader物件的引用。</param>
    public void SQLInquire(string Str, ref SqlDataReader dr)
    {
        sc = new SqlCommand(Str, conn);
        dr = sc.ExecuteReader();
    }    


    /// <summary>
    /// 關閉資料庫連線
    /// </summary>
    public void Close()
    {
        if(conn.State == ConnectionState.Open)
            conn.Close();
    }

}


/* 【備註】
 * 需要在網站Web.config檔案下的<configuration>節中修改<appSettings />為
 * 
 * <appSettings>
 *     <add key="Conn" value="Data Source=.;Initial Catalog=epbase;Integrated Security=True"/>
 * </appSettings>
 */


/* 【附錄】 
 ***********************************************************
 類名:Conn
 功能:連線、開啟SQL資料庫,執行查詢或者增、刪、改的SQL命令。
 描述:是一個SQL資料庫操作類,封裝了連線開啟資料庫的物件,和
       執行SQL指令語句的物件,和返回資料庫的物件。目的是使數
       據庫的操作更加簡便,好管理。
 *********************************************************** 
 -----------------------------------------------------------
 【構造方法】
 Conn Obj1 = new Conn(); 
 
 Conn Obj2 = new Conn("連線字串"); 
 
 -----------------------------------------------------------
 【SQLOperate()方法】
 功能:用於Insert, Update, Delete 三種指令的執行。
 引數:string型,內容為要執行的SQL語句。
 返回值:int型,返回成功操作的行數。返回值為0,表示操作失敗。
 示例:
 int n = Obj1.SQLOperate("SQL指令字串");
 if (n > 0) Response.Write("操作成功。");
 Obj1.Close();        
 
 
 -----------------------------------------------------------
 【SQLInquire()方法】
 功能:用於Select指令的查詢。
 引數:string型,內容為要執行的SQL語句。
 引數:SqlDataReader類物件,例項化物件的引用。
 返回值:無
 示例:
 SqlDataReader dr = null;
 Obj2.SQLInquire("SQL指令字串",ref dr);
 while (dr.Read())
     Response.Write(dr["列名1"] + "|" + dr["列名2"] + "<br />");
 dr.Close();
 Obj2.Close();
 

 -----------------------------------------------------------
 【Close()方法】
 功能:關閉資料庫連線。
 引數:無
 返回值:無
 示例:ConnObject.close();


 */