[csharp]
/// <summary>
/// Depiction:數據庫助手類V1.0
/// Author:賈琳
/// Create Date: 2011/12/2 9:47:48
/// </summary>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace SqlHelper
{
public sealed class SqlHelper
{
//靜態初始化Sqlhelper
private static readonly SqlHelper instance = new SqlHelper();
private SqlCommand cmd = null;
private SqlConnection con = null;
private SqlDataReader sdr = null;
#region 靜態構造方法,防止new實例化
/// <summary>
/// 靜態構造方法,防止new實例化
/// </summary>
private SqlHelper()
{
string strConn = ConfigurationManager.ConnectionStrings["ConnectString"].ConnectionString;
con = new SqlConnection(strConn);
}
#endregion
#region 獲取Sqlhelper實例的方法
/// <summary>
/// 獲取Sqlhelper實例的方法
/// </summary>
/// <returns>2011年12月2日 By 賈琳</returns>
public static SqlHelper GetInstance()
{
return instance;
}
#endregion
#region 獲得數據庫連接
/// <summary>
/// 獲得數據庫連接
/// </summary>
/// <returns>2011年12月2日 By 賈琳</returns>
private SqlConnection GetCnn()
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
return con;
}
#endregion
#region 執行帶參數的增刪改命令
/// <summary>
/// 執行帶參數的增刪改命令
/// </summary>
/// <param name="cmmText">Sql語句或存儲過程</param>
/// <param name="para">參數集合</param>
/// <param name="cmmType">命令類型</param>
/// <returns>2011年12月2日 By 賈琳</returns>
public int ExecuteNonQuery(string cmmText, SqlParameter[] para, CommandType cmmType)
{
using (cmd = new SqlCommand(cmmText, GetCnn()))
{
cmd.CommandType = cmmType;
cmd.Parameters.AddRange(para);
return cmd.ExecuteNonQuery();
}
}
#endregion
#region 執行不帶參數的增刪改命令
/// <summary>
/// 執行不帶參數的增刪改命令
/// </summary>
/// <param name="cmmText">Sql語句或存儲過程</param>
/// <param name="cmmType">命令類型</param>
/// <returns>2011年12月2日 By 賈琳</returns>
public int ExecuteNonQuery(string cmmText, CommandType cmmType)
{
using (cmd = new SqlCommand(cmmText, GetCnn()))
{
cmd.CommandType = cmmType;
return cmd.ExecuteNonQuery();
}
}
#endregion
#region 執行帶參數的查詢命令
/// <summary>
/// 執行帶參數的查詢命令
/// </summary>
/// <param name="cmmText">Sql語句或存儲過程</param>
/// <param name="para">參數集合</param>
/// <param name="cmmType">命令類型</param>
/// <returns>2011年12月2日 By 賈琳</returns>
public DataTable ExecuteQuery(string cmmText, SqlParameter[] para, CommandType cmmType)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmmText, GetCnn());
cmd.CommandType = cmmType;
cmd.Parameters.AddRange(para);
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
return dt;
}
}
#endregion
#region 執行不帶參數的查詢命令
/// <summary>
/// 執行不帶參數的查詢命令
/// </summary>
/// <param name="cmmText">Sql語句或存儲過程</param>
/// <param name="cmmType">命令類型</param>
/// <returns>2011年12月2日 By 賈琳</returns>
public DataTable ExecuteQuery(string cmmText, CommandType cmmType)
{
DataTable dt = new DataTable();
cmd = new SqlCommand(cmmText, GetCnn());
cmd.CommandType = cmmType;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
dt.Load(sdr);
return dt;
}
}
#endregion
}
}
建立自己的代碼庫,從SqlHelper V1.0開始!!!!