asp.net调用sql server存储过程的实例

存储过程,想必有过面试经验的挨踢男都被问到过,刚找工作的时候老被问到存储过程,学的时候我也是一知半解,回答自然好不到哪去。不知不觉已经敲了一年半的代码了,一直以为自己是个菜鸟,今天突然在一个群看到有个网友问杨辉三角怎么实现,惊叹感到还有到群里问这么简单问题的人,哈哈,这难道是我的技术在不知不觉中得到了提升?用C#也快两个月了,越来越发现C#真的比java简单多了,自己能解决的问题也越来越多了,(*^__^*) 这一年的时间也有好多学弟学妹问我各种问题,才发现我也成前辈了。 作为一个计算机毕业的来说, 开机慢、电脑卡、重装系统、电脑维修、购买电脑推荐、手机慢、手机卡、手机刷机、有/无线路由设置、猫、购买手机推荐、电脑连不上网、影音下载、视频格式转换、电脑和手机间复制文件、网银等注册/使用以及使用中各种红色提醒的讲解、QQ号码盗号、各种广告帖子发布、淘宝装修、网上购物、写外挂、计算机二级、拉网络,word.、Excel、ppt的排版制作,文档格式转换、ps、各种软件安装等各种问题都要涉及,不但要会做,还要做的让对方满意,不然别人就来句你学计算机的啊。。。省略一万字。
总结: 搞计算机的你啥都得会,要不都不好意思说自己干啥的,还会被外行鄙视。这两天复习了下存储过程知识,以前用的是oracle,现在用的是sql server。确切的说这是我踏入IT行业第一次自学实现调用存储过程,故比较兴奋。先简单的介绍下存储过程:

存储过程是一类编译好的程序,在创建时进行编译,之后需要的时候值需要使用调用语句调用EXEC。

储存过程的分类:
1. 系统存储过程,存放在MASTER数据库中,以SP_前缀。
2. 用户自定义存储过程。
 
在SQL SERVER中创建储存过程语法:
Create proc[edure]   procedure_name[;number]
[{@parameter data_type}
[varying][=default][output]
][,…n]
[with {recompile|encryption|encrypton,recomption}]
[for enplication]
As
Sql_statement[,…n]
参数:
整个语法中只有两个参数是必须的:procedure_name存储过程名称和sql_statement存储过程内容。
procedure_name:存储过程名称。
;number:对存储过程分组,“;数字”表示是一组存储过程,便于批量操作。
@parameter:参数名,命名必须用@开头;局部变量以@开头,全局变量以@@开头。
data_type:参数类型。
varying:指定作为输出参数的结果集。
Default:参数的默认值。
Output:表示为输出参数,返回值给execute/exe。
[with {recompile|encryption|encrypton,recomption}][for enplication]:这个我还不明白。。。
As:指定储存过程要执行的操作。
 
执行存储过程语法:
Exec[ute] 存储过程名 参数
 
实验一下,看看效果:
1.创建一组存储过程并且执行
create procedure procedure_a;1
as
select * from student
go
create procedure procedure_a;2
as
select * from student
go
执行创建效果截图:
图1创建一组存储过程
2.执行语句:
Execute procedure_a
效果截图:
图2执行存储过程效果截图
sysConfig表结构:
存储过程:
--创建存储过程
CREATE   PROCEDURE   sele_sysConfig    
  @title1   varchar(50)   output,   
  @keywords1   varchar(50)   output,   
  @description1   varchar(50)   output   
    as   
  set   @title1=(Select   Top   1   title   From  dbo.sysConfig  order   by configId  DESC);   
  set   @keywords1=(Select   Top   1  keywords From   sysConfig   order   by   title   DESC);   
  set   @description1=(Select   Top   1  description   From   sysConfig   order   by   configId   DESC);   
    go

asp.net调用存储过程:
private void procedure()
        {
            String conn = "server=服务器;database=数据库名;uid=sa;pwd=密码;Trusted_Connection=no";//定义数据库连接参数
            SqlConnection myConn = new SqlConnection(conn);//定义一个数据库连接实例
            //定义一个数据库操作指令--调用存储过程sele_sysConfig
            SqlCommand SearchData = new SqlCommand("sele_sysConfig", myConn);
            SearchData.CommandType = CommandType.StoredProcedure;
            SearchData.Parameters.Add("@title1", SqlDbType.VarChar, 50);
            SearchData.Parameters["@title1"].Direction = ParameterDirection.Output;
            SearchData.Parameters.Add("@keywords1", SqlDbType.VarChar, 50);
            SearchData.Parameters["@keywords1"].Direction = ParameterDirection.Output;
            SearchData.Parameters.Add("@description1", SqlDbType.VarChar, 50);
            SearchData.Parameters["@description1"].Direction = ParameterDirection.Output;
            myConn.Open();
            SearchData.ExecuteNonQuery();
            SearchData.Dispose();
            myConn.Close();
            title1.Text = SearchData.Parameters["@title1"].Value.ToString();
            keywords1.Text = SearchData.Parameters["@keywords1"].Value.ToString();
            description1.Text = SearchData.Parameters["@description1"].Value.ToString();
        } 
}

效果图:
以后慢慢将功能复杂化,未完待续。。。
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页