欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在ASP.NET中用存儲(chǔ)過程執(zhí)行SQL語(yǔ)句

 更新時(shí)間:2010年04月25日 21:55:10   作者:  
存儲(chǔ)過程:是一組為了完成特定功能的SQL語(yǔ)句集,經(jīng)編譯后存儲(chǔ)在數(shù)據(jù)庫(kù)中。用戶通過指定存儲(chǔ)過程的名字并給出參數(shù)(如果該存儲(chǔ)過程帶有參數(shù))來執(zhí)行它。存儲(chǔ)過程是數(shù)據(jù)庫(kù)中的一個(gè)重要對(duì)象,任何一個(gè)設(shè)計(jì)良好的數(shù)據(jù)庫(kù)應(yīng)用程序都應(yīng)該用到存儲(chǔ)過程。
存儲(chǔ)過程執(zhí)行效率比單獨(dú)的SQL語(yǔ)句效率高。
樣編寫存儲(chǔ)過程?存儲(chǔ)過程在SQL Server 2005對(duì)應(yīng)數(shù)據(jù)庫(kù)的可編程性目錄下。
比如,創(chuàng)建一個(gè)存儲(chǔ)過程
復(fù)制代碼 代碼如下:

create procedure procNewsSelectNewNews
as
begin
select top 10 n.id,n.title,n.createTime,c.name from news n
inner join category c on n.caId=c.id
order by n.createTime desc
end

執(zhí)行定義好的存儲(chǔ)過程
exec procNewsSelectNewNews
存儲(chǔ)過程返回的是一張表
復(fù)制代碼 代碼如下:

public DataTable test(string procName)
{
DataTable dt=new DataTable();
cmd=new SqlCommand(procName,GetConn()); //數(shù)據(jù)庫(kù)連接和連接開閉,都放在了GetConn()方法中
cmd.CommandType=CommandType.StoredProcedure; //定義SQL語(yǔ)句命令類型為存儲(chǔ)過程
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection));//方法將SQL語(yǔ)句發(fā)送給SqlConnection并生產(chǎn)一個(gè)SqlDataReader類對(duì)象,該SqlDataReader對(duì)象包含SQL命令返回的數(shù)據(jù)
{ dt.Load(sdr); //load查詢dataread查詢的結(jié)果 }
return dt;
}

當(dāng)一個(gè)項(xiàng)目中既要用到SQL語(yǔ)句又要用到存儲(chǔ)過程的時(shí)候,而執(zhí)行SQL語(yǔ)句和執(zhí)行存儲(chǔ)過程的方法都差不多,就是相差一個(gè)CommandType類型,所以如果有這樣的情況,我們可以重構(gòu)關(guān)于SQL語(yǔ)句和存儲(chǔ)過程這兩個(gè)方法
復(fù)制代碼 代碼如下:

public DataTable ExecuteQuery(string sqlText,CommandType ct); //不僅傳入SQL語(yǔ)句還傳入一個(gè)命令類型
{
DataTable dt=new DataTable();
cmd=new SqlCommand(sqlText,GetConn());
cmd.CommandType=ct;
using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{ dt.Load(sdr);}
return dt;
}

查詢方法寫好之后,就可以寫SQL語(yǔ)句或存儲(chǔ)過程的方法了
比如:存儲(chǔ)過程
復(fù)制代碼 代碼如下:

public DataTable SelectNewNews()
{
return sqlhelper.ExecuteQuery(“存儲(chǔ)過程名”,CommandType.StoredProcedure)
}

SQL語(yǔ)句
復(fù)制代碼 代碼如下:

public DataTable SelectAll()
{
DataTable dt=new DataTable();
string sql=”select * from news”;
dt=sqlhelper.ExecuteQuery(sql,CommandType.Text);·
return dt
}

相關(guān)文章

  • .NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理

    .NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理

    這篇文章介紹了.NET使用YARP根據(jù)域名轉(zhuǎn)發(fā)實(shí)現(xiàn)反向代理的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09
  • iis 服務(wù)器應(yīng)用程序不可用的解決方法

    iis 服務(wù)器應(yīng)用程序不可用的解決方法

    訪問頁(yè)面時(shí)提示 服務(wù)器應(yīng)用程序不可用,大家可以按照下面的方法重新注冊(cè)下,應(yīng)該能好點(diǎn)
    2008-11-11
  • Asp.Net Core使用swagger生成api文檔的完整步驟

    Asp.Net Core使用swagger生成api文檔的完整步驟

    這篇文章主要給大家介紹了關(guān)于Asp.Net Core使用swagger生成api文檔的完整步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Asp.Net Core具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • list泛型自定義排序示例

    list泛型自定義排序示例

    這篇文章主要介紹了list泛型自定義排序示例,實(shí)現(xiàn)List泛型類將制定元素至前排序,大家參考使用吧
    2014-01-01
  • 關(guān)于ListView下隱藏控件的解決方案分享

    關(guān)于ListView下隱藏控件的解決方案分享

    想實(shí)現(xiàn)一個(gè)功能,這個(gè)功能挺簡(jiǎn)單,就是當(dāng)不是管理員用戶登入的時(shí)候,那這個(gè) 刪除 按鈕就被隱藏掉;當(dāng)是管理員用戶的時(shí)候,就重新顯示出來
    2012-04-04
  • 讓GridView只更新某些特定的數(shù)據(jù)的方法

    讓GridView只更新某些特定的數(shù)據(jù)的方法

    我又不希望所有的數(shù)據(jù)都可以修改,只希望修改某些特定的列,用下面的方法即可
    2008-10-10
  • 生成二維碼的開源工具對(duì)比(附源碼)

    生成二維碼的開源工具對(duì)比(附源碼)

    本文主要介紹了生成二維碼的開源工具的對(duì)比,附源碼下載,具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • ng-repeat中Checkbox默認(rèn)選中的方法教程

    ng-repeat中Checkbox默認(rèn)選中的方法教程

    這篇文章主要給大家介紹了關(guān)于ng-repeat中Checkbox默認(rèn)選中的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • jquery中如何獲得服務(wù)器控件實(shí)現(xiàn)思路

    jquery中如何獲得服務(wù)器控件實(shí)現(xiàn)思路

    jquery中如何獲得服務(wù)器控件,很多新手朋友對(duì)此比較陌生,接下來為您介紹解決方法,感興趣的朋友可以了解下哦
    2013-01-01
  • moq 的常用使用方法(推薦)

    moq 的常用使用方法(推薦)

    這篇文章主要介紹了moq 的常用使用方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-11-11

最新評(píng)論