在ASP.NET中用存儲過程執(zhí)行SQL語句
來源:易賢網(wǎng) 閱讀:576 次 日期:2014-08-22 15:41:55
溫馨提示:易賢網(wǎng)小編為您整理了“在ASP.NET中用存儲過程執(zhí)行SQL語句”,方便廣大網(wǎng)友查閱!

存儲過程:是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。by google

存儲過程執(zhí)行效率比單獨(dú)的SQL語句效率高。

樣編寫存儲過程?存儲過程在SQL Server 2005對應(yīng)數(shù)據(jù)庫的可編程性目錄下。

比如,創(chuàng)建一個存儲過程

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í)行定義好的存儲過程

exec procNewsSelectNewNews

存儲過程返回的是一張表

public DataTable test(string procName)

{

DataTable dt=new DataTable();

cmd=new SqlCommand(procName,GetConn()); //數(shù)據(jù)庫連接和連接開閉,都放在了GetConn()方法中

cmd.CommandType=CommandType.StoredProcedure; //定義SQL語句命令類型為存儲過程

using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection));//方法將SQL語句發(fā)送給SqlConnection并生產(chǎn)一個SqlDataReader類對象,該SqlDataReader對象包含SQL命令返回的數(shù)據(jù)

{ dt.Load(sdr); //load查詢dataread查詢的結(jié)果 }

return dt;

}

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

public DataTable ExecuteQuery(string sqlText,CommandType ct); //不僅傳入SQL語句還傳入一個命令類型

{

DataTable dt=new DataTable();

cmd=new SqlCommand(sqlText,GetConn());

cmd.CommandType=ct;

using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))

{ dt.Load(sdr);}

return dt;

}

查詢方法寫好之后,就可以寫SQL語句或存儲過程的方法了

比如:存儲過程

public DataTable SelectNewNews()

{

return sqlhelper.ExecuteQuery(“存儲過程名”,CommandType.StoredProcedure)

}

SQL語句

public DataTable SelectAll()

{

DataTable dt=new DataTable();

string sql=”select * from news”;

dt=sqlhelper.ExecuteQuery(sql,CommandType.Text);·

return dt

}

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:在ASP.NET中用存儲過程執(zhí)行SQL語句
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)