1、创建过程要用as    
  CREATE   PROCEDURE   updatelrchilddevelopinfo  
                                    @parentid                     varchar(50),  
                                    @childid                       varchar(50),  
                                    @lorr                             varchar(1)  
      as                                
  2、给变量付值要用select   或set    
                                                          select   @time1=   cast(year(getdate())   as   varchar(10))+'-'+  
                                                              cast(month(getdate())   as   varchar(10))+'-'+  
                                                              cast(day(getdate())   as   varchar(10))  
  3、调用过程之间的变量要用","分开  
                EXEC   updateaccountinfo   @parentid     ,@account1,   @time1  
   
  建议:  
  1、申明变量要在过程的开始  
  as    
      DECLARE   @account   int  
      DECLARE   @time   varchar(50)      
      DECLARE   @account1   int  
        DECLARE   @time1   varchar(50)  
  2、取日期  
  select   @time1=   convert(char(20),getdate(),120)  
------------
最简单的一种。  
  CREATE   PROCEDURE   AAA  
  AS  
  SELECT   *   FROM   TABLE
---------------
CREATE   PROCEDURE   AAAAAA   [INPUT   VARIABLES]  
  AS  
    [   LOCAL   VARIABLE   ]  
    DECLARE   ......  
  RETURN  
      [OUTPUT   VARIABLE]  
  BEGIN  
          [   SQL   OPERATION   ]  
              UPDATE.......  
              SELECT......  
              DELETE.....  
   
  END  
------------------
create procedure libsearch
@name char ,
@member_no int,
@loancount int output

as
if exists (select * from member where member_no=@member_no)
begin select @loancount=count(*)
from member
where member_no=@member_no return (1)
end
else return (0)
GO



当输入member_no的值时 若存在该值 则返回匹配的记录 包括name member_no loancount
若不存在 则显示出错

.CS文件中调用存储过程
SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd=sa;database=yourdatabase")
SqlCommand cmd=new SqlCommand("libsearch",conn);
cmd.CommandType = CommandType.StoredProcedure;//指示libsearch为存储过程
cmd.Parameters.Add("@name",SqlDbType.Char,20);
cmd.Parameters["@name"].Value=传入name的值
cmd.Parameters.Add("@member_no",SqlDbType.Int,4);
cmd.Parameters["@member_no"].Value=传入member_no的值
cmd.Parameters.Add("@loancount",SqlDbType.Int,4);
cmd.Parameters["@loancount"].Direction=ParameterDirection.Output;

cmd.ExcuteNonQuery();//执行存储过程
string loancount=cmd.Parameters["@loancount"].Value.ToString()
//得到值.
只要注意存储过程中声明了几个传入参数,就必须传入几个值就行了
posted on 2007-09-11 10:45  小角色  阅读(487)  评论(0)    收藏  举报