using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Collections;
using System.Data.SqlClIEnt;
/// <summary>
/// 數據庫的通用訪問代碼
/// 此類為抽象類,不允許實例化,在應用時直接調用即可
/// </summary>
public abstract class SqlHelper
{
//獲取數據庫連接字符串,其屬於靜態變量且只讀,項目中所有文檔可以直接使用,但不能修改
public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["pubsConnectionString"].ConnectionString;
// 哈希表用來存儲緩存的參數信息,哈希表可以存儲任意類型的參數。
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
/// <summary>
///執行一個不需要返回值的SqlCommand命令,通過指定專用的連接字符串。
/// 使用參數數組形式提供參數列表
/// </summary>
/// <remarks>
/// 使用示例:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
/// </remarks>
/// <param name="connectionString">一個有效的數據庫連接字符串</param>
/// <param name="commandType">SqlCommand命令類型 (存儲過程, T-SQL語句, 等等。)</param>
/// <param name="commandText">存儲過程的名字或者 T-SQL 語句</param>
/// <param name="commandParameters">以數組形式提供SqlCommand命令中用到的參數列表</param>
/// <