存储过程执行效率比单独的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
}
标签:
ASP.NET,存储过程

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com

评论“在ASP.NET中用存储过程执行SQL语句”

暂无“在ASP.NET中用存储过程执行SQL语句”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?