c# 資料庫的 sql 參數封裝類的編寫

來源:互聯網
上載者:User

資料庫的 sql 參數封裝類的編寫

複製代碼 代碼如下:using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text;
namespace ChinaSite.classes
{
public class DbAccess
{
SqlConnection conn = null;
SqlCommand cmd = null;
public DbAccess()
{
//
// TODO: 在此處添加建構函式邏輯
//
conn = new SqlConnection();
//conn.ConnectionString = "initial catalog=pubs;data source=.;user id=sa;password=";
//conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["datasource"]);
cmd = new SqlCommand();
cmd.Connection = conn;
}
/// <summary>
/// 擷取資料根據sql語句
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataTable GetTable(string sql)
{
DataSet ds = new DataSet();

try
{
cmd.CommandText = sql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;

da.Fill(ds);
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;

}
return ds.Tables[0] ?? new DataTable();
}

/// <summary>
/// 擷取資料根據sql語句 帶參數 的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public DataTable GetTable(string sql, params SqlParameter[] pas)
{
DataSet ds = new DataSet();
try
{
cmd.CommandText = sql;
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}

da.Fill(ds);
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;
}
return ds.Tables[0] ?? new DataTable();
}
/// <summary>
/// 根據sql語句返回跟新狀態
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public bool GetState(string sql)
{
bool succ = false;
try
{
cmd.CommandText = sql;
conn.Open();
succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
conn.Close();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return false;
}
return succ;

}
/// <summary>
/// 根據sql語句返回跟新狀態帶參數的
/// </summary>
/// <param name="sql">sql語句</param>
/// <param name="pas">參數的集合</param>
/// <returns></returns>
public bool GetState(string sql, params SqlParameter[] pas)
{
bool succ = false;
try
{
cmd.CommandText = sql;
cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
conn.Open();
succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
conn.Close();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return false;
}
return succ;

}
/// <summary>
/// 根據sql語句返回第一個儲存格的資料
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public string GetOne(string sql)
{
string res = "";
try
{
cmd.CommandText = sql;
conn.Open();
res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
conn.Close();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;
}
return res;
}
/// <summary>
/// 根據sql語句返回第一個儲存格的資料帶參數的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public string GetOne(string sql, params SqlParameter[] pas)
{
string res = "";
try
{
cmd.CommandText = sql;
cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}
conn.Open();
res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
conn.Close();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;
}
return res;
}
/// <summary>
/// 返回資料的DataReader
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public SqlDataReader GetDataReader(string sql)
{
SqlDataReader dr = null;
try
{
conn.Open();
cmd.CommandText = sql;
dr = cmd.ExecuteReader();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;
}
return dr;
}
/// <summary>
/// 返回資料的DataReader帶參數的
/// </summary>
/// <param name="sql"></param>
/// <param name="pas"></param>
/// <returns></returns>
public SqlDataReader GetDataReader(string sql, params SqlParameter[] pas)
{
SqlDataReader dr = null;
try
{
conn.Open();
cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
{
cmd.Parameters.Add(temppa);
}

cmd.CommandText = sql;
dr = cmd.ExecuteReader();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return null;
}
return dr;
}
/// <summary>
/// 開啟串連
/// </summary>
public void OpenConn()
{
if (conn.State != ConnectionState.Open)
{
try
{
conn.Open();
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return;
}
}
}
/// <summary>
/// 關閉串連
/// </summary>
public void CloseConn()
{
if (conn.State != ConnectionState.Closed)
{
try
{
conn.Close();
cmd = null;
conn = null;
}
catch (Exception ex)
{

this.ShowError(ex.Message);
return;
}
}
}
/// <summary>
/// 彈出錯誤的資訊
/// </summary>
/// <param name="err"></param>
public void ShowError(string err)
{
System.Web.HttpContext.Current.Response.Write(Script(err, ""));
}
/// <summary>
/// 顯示資訊
/// </summary>
/// <param name="err"></param>
public void ShowMessage(string mes, string loc)
{
System.Web.HttpContext.Current.Response.Write(Script(mes, loc));
}
/// <summary>
/// javascript指令碼
/// </summary>
/// <param name="mess"></param>
/// <param name="loc"></param>
/// <returns></returns>
public string Script(string mess, string loc)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script language='javascript'>");
sb.Append("alter('");
sb.Append(mess);
sb.Append("');");
sb.Append(loc);
sb.Append("</script>");
return sb.ToString();

}

}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.