“----------ASP.Net+Android+IOS開發、Net培訓、期待與您交流!----------”
public class DBHelper
{
/// <summary>
/// 連接字符串
/// </summary>
public string CmdConStr { get; set; }
/// <summary>
/// 存儲過程名
/// </summary>
public string CmdProStr { get; set; }
/// <summary>
/// 傳入參數new SqlParameter[] {new SqlParameter("@存儲過程參數",參數)};
/// </summary>
public SqlParameter[] CmdPar { get; set; }
private SqlConnection con = new SqlConnection();
private SqlCommand cmd = new SqlCommand() { CommandType = CommandType.StoredProcedure };
private SqlDataReader dr;
/// <summary>
/// 返回遍歷需要的DR
/// </summary>
protected SqlDataReader Dr
{
get {
if (dr==null)
{
this.GetdataReader();
}
return dr; }
}
private bool isExecuteNonQuery;
/// <summary>
/// 返回增改刪的BOOL值
/// </summary>
protected bool IsExecuteNonQuery
{
get
{
this.GetExecuteNonQuery();
return isExecuteNonQuery; }
}
private bool isExecuteScalar;
/// <summary>
/// 返回登陸判斷的BOOL或只需要一個判斷時 SQL語句列名改成1 比如: select 1 from 表 where 列=列
/// </summary>
protected bool IsExecuteScalar
{
get
{
this.GetExecuteScalar();
return isExecuteScalar; }
}
/// <summary>
/// 返回遍歷需要的DR
/// </summary>
/// <param name="constring">連接字符串</param>
/// <param name="protrct">存儲過程名</param>
/// <param name="par">參數數組寫法 new SqlParameter[]{ new SqlParameter("@存儲過程參數名",參數)}</param>
/// <returns></returns>
private void GetdataReader()
{
con.ConnectionString = ConfigurationManager.ConnectionStrings[CmdConStr].ToString();
if (con.State != ConnectionState.Open || con.State == ConnectionState.Broken)
{
dr = null;
con.Close();
con.Open();
}
cmd.Connection = con;
cmd.CommandText = CmdProStr;
if (CmdPar != null)
{
cmd.Parameters.AddRange(this.CmdPar);
}
dr = cmd.ExecuteReader();
}
/// <summary>
/// 返回增改刪的BOOL值
/// </summary>
/// <param name="constring">連接字符串</param>
/// <param name="protrct">存儲過程名</param>
/// <param name="par">參數數組寫法 new SqlParameter[]{ new SqlParameter("@存儲過程參數名",參數)}</param>
/// <returns></returns>
private void GetExecuteNonQuery()
{
con.ConnectionString = ConfigurationManager.ConnectionStrings[CmdConStr].ToString();
if (con.State != ConnectionState.Open || con.State == ConnectionState.Broken)
{
con.Close();
con.Open();
}
cmd.Connection = con;
cmd.CommandText = CmdProStr;
if (CmdPar != null)
{
cmd.Parameters.AddRange(CmdPar);
}
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
isExecuteNonQuery= true;
return;
}
isExecuteNonQuery=false;
}
/// <summary>
/// 返回登陸判斷的BOOL或只需要一個判斷時 SQL語句列名改成1 比如: select 1 from 表 where 列=列
/// </summary>
/// <param name="constring">連接字符串</param>
/// <param name="protrct">存儲過程名</param>
/// <param name="par">參數數組寫法 new SqlParameter[]{ new SqlParameter("@存儲過程參數名",參數)}</param>
private void GetExecuteScalar()
{
con.ConnectionString = ConfigurationManager.ConnectionStrings[CmdConStr].ToString();
if (con.State != ConnectionState.Open || con.State == ConnectionState.Broken)
{
con.Close();
con.Open();
}
cmd.Connection = con;
cmd.CommandText = CmdProStr;
if (CmdPar != null)
{
cmd.Parameters.AddRange(CmdPar);
}
int i = Convert.ToInt32(cmd.ExecuteScalar());
if (i > 0)
{
isExecuteScalar= true;
return;
}
isExecuteScalar= false;
}
}