c# 數(shù)據(jù)庫(kù)的 sql 參數(shù)封裝類(lèi)的編寫(xiě)
更新時(shí)間:2007年12月07日 21:24:30 作者:
數(shù)據(jù)庫(kù)的 sql 參數(shù)封裝類(lèi)的編寫(xiě)
復(fù)制代碼 代碼如下:
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: 在此處添加構(gòu)造函數(shù)邏輯
//
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>
/// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句
/// </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>
/// 獲取數(shù)據(jù)根據(jù)sql語(yǔ)句 帶參數(shù) 的
/// </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>
/// 根據(jù)sql語(yǔ)句返回跟新?tīng)顟B(tài)
/// </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>
/// 根據(jù)sql語(yǔ)句返回跟新?tīng)顟B(tài)帶參數(shù)的
/// </summary>
/// <param name="sql">sql語(yǔ)句</param>
/// <param name="pas">參數(shù)的集合</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>
/// 根據(jù)sql語(yǔ)句返回第一個(gè)單元格的數(shù)據(jù)
/// </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>
/// 根據(jù)sql語(yǔ)句返回第一個(gè)單元格的數(shù)據(jù)帶參數(shù)的
/// </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>
/// 返回?cái)?shù)據(jù)的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>
/// 返回?cái)?shù)據(jù)的DataReader帶參數(shù)的
/// </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>
/// 打開(kāi)連接
/// </summary>
public void OpenConn()
{
if (conn.State != ConnectionState.Open)
{
try
{
conn.Open();
}
catch (Exception ex)
{
this.ShowError(ex.Message);
return;
}
}
}
/// <summary>
/// 關(guān)閉連接
/// </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>
/// 彈出錯(cuò)誤的信息
/// </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();
}
}
}
您可能感興趣的文章:
- C# Oracle數(shù)據(jù)庫(kù)操作類(lèi)實(shí)例詳解
- c#連接access數(shù)據(jù)庫(kù)操作類(lèi)分享
- 支持多類(lèi)型數(shù)據(jù)庫(kù)的c#數(shù)據(jù)庫(kù)模型示例
- 數(shù)據(jù)庫(kù) 數(shù)據(jù)類(lèi)型float到C#類(lèi)型decimal, float數(shù)據(jù)類(lèi)型轉(zhuǎn)化無(wú)效
- .NET(C#)連接各類(lèi)數(shù)據(jù)庫(kù)代碼-集錦
- C#使用DataSet Datatable更新數(shù)據(jù)庫(kù)的三種實(shí)現(xiàn)方法
- c#連接sqlserver數(shù)據(jù)庫(kù)、插入數(shù)據(jù)、從數(shù)據(jù)庫(kù)獲取時(shí)間示例
- c#操作sqlserver數(shù)據(jù)庫(kù)的簡(jiǎn)單示例
- c#連接mysql數(shù)據(jù)庫(kù)的方法
- c#數(shù)據(jù)綁定之向查詢(xún)中添加參數(shù)(.Net連接外部數(shù)據(jù)庫(kù))
- c#生成excel示例sql數(shù)據(jù)庫(kù)導(dǎo)出excel
- C#數(shù)據(jù)庫(kù)操作類(lèi)AccessHelper實(shí)例
相關(guān)文章
C# winform編程中響應(yīng)回車(chē)鍵的實(shí)現(xiàn)代碼
這篇文章主要介紹了C# winform編程中響應(yīng)回車(chē)鍵的實(shí)現(xiàn)代碼,既在窗口上響應(yīng)回車(chē)鍵事件的方法,需要的朋友可以參考下2014-08-08簡(jiǎn)單的excel導(dǎo)入導(dǎo)出示例分享
這篇文章主要介紹了簡(jiǎn)單的excel導(dǎo)入導(dǎo)出示例分享,需要的朋友可以參考下2014-03-03親自教你實(shí)現(xiàn)棧及C#中Stack源碼分析
大家都知道棧的實(shí)現(xiàn)方式有兩種,一種是基于數(shù)組實(shí)現(xiàn)的順序棧,另一種是基于鏈表實(shí)現(xiàn)的鏈?zhǔn)綏?。這篇文章主要介紹了手把手教你實(shí)現(xiàn)棧以及C#中Stack源碼分析,需要的朋友可以參考下2021-09-09WPF使用DrawingContext實(shí)現(xiàn)繪制刻度條
這篇文章主要為大家詳細(xì)介紹了如何利用WPF DrawingContext實(shí)現(xiàn)繪制刻度條,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定幫助,感興趣的小伙伴可以了解一下2022-09-09Unity多語(yǔ)言轉(zhuǎn)換工具的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Unity多語(yǔ)言轉(zhuǎn)換工具的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-06-06