国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在ASP.NET中用存儲過程執行SQL語句

2020-01-18 00:50:01
字體:
來源:轉載
供稿:網友
存儲過程執行效率比單獨的SQL語句效率高。
樣編寫存儲過程?存儲過程在SQL Server 2005對應數據庫的可編程性目錄下。
比如,創建一個存儲過程
復制代碼 代碼如下:

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

執行定義好的存儲過程
exec procNewsSelectNewNews
存儲過程返回的是一張表
復制代碼 代碼如下:

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

當一個項目中既要用到SQL語句又要用到存儲過程的時候,而執行SQL語句和執行存儲過程的方法都差不多,就是相差一個CommandType類型,所以如果有這樣的情況,我們可以重構關于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
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高阳县| 城步| 登封市| 萝北县| 韶关市| 游戏| 苗栗市| 喀什市| 文成县| 兴仁县| 甘洛县| 新民市| 都兰县| 克什克腾旗| 岱山县| 巢湖市| 曲阜市| 宣汉县| 峨眉山市| 清新县| 鹤壁市| 新野县| 恩施市| 武邑县| 辛集市| 金堂县| 闻喜县| 古田县| 怀集县| 应城市| 乐至县| 蛟河市| 阿荣旗| 神池县| 墨竹工卡县| 崇信县| 武夷山市| 昭通市| 汾西县| 城口县| 长海县|