创建ACCESS的存储过程

在Access自身的帮助中看到了Create Procedure语句。
测试了老半天,终于发现了诀窍:
必须使用OleDb连接才能使用Create Procedure语句。
ODBC连接不支持该语句,提示Create Table语法错误。
创建了存储过程后,使用Office Access工具打开数据库,在“对象 - 查询”中能够看到你创建的存储过程。

创建存储过程的语法:
CODE

Create Procedure YourProc
(
        @param1 varchar(254),
        @param2 int
)
As
(
        select * from Table1 where ID>@param2 and username=@param1
)

查询数据时只需要使用:

        Rs.Open "YourProc 参数1,参数2,参数3", Conn
        或者
        Conn.Execute("exec YourProc 参数1,参数2,参数3")

 

第二个例子:

直接在库里创建,参考:  
   
              //**************************************************************  
              //       Stored   Procedure   ListBySubject_Sample  
              //             CREATE   procedure   ListBySubject_Sample  
              //             (  
              //                   @SubjectID   Integer  
              //             )  
              //             AS  
              //             SELECT   top   5   BookID,   BookTitle,   Author,   Price,   Retail  
              //             FROM   Products  
              //             where   SubjectID   =   @SubjectID  
              //             RETURN  
              //  
              //             GO  
              //**************************************************************  
   
  SqlDataReader   GetSpecials_Procedure(SqlConnection   currentConnection)    
  {  
        SqlDataReader   myDataReader;  
        Object   my_DBNull;  
   
        try   {  
              my_DBNull   =   Convert.DBNull;  
   
              SqlDataReader   myReader;  
              int   subjectidin   =   21;  
   
   
              SqlCommand   myCommand   =   new   SqlCommand();  
              myCommand.Connection   =   currentConnection;  
              myCommand.CommandType   =   CommandType.StoredProcedure;  
              myCommand.CommandText   =   "LISTBYSUBJECT_SAMPLE";  
               
               
              myCommand.Parameters.Add(new   SqlParameter("@SubjectID",    
              SqlDbType.Int,   4,   ParameterDirection.Input,    
              true,0,0,"",DataRowVersion.Default,   my_DBNull)   );                    
               
              //set   @SubjectID   parameter   value   to   21   (Specials)  
              myCommand.Parameters[0].Value   =   subjectidin;  
         
              myDataReader   =   myCommand.ExecuteReader();  
   
              return   (myDataReader);  
        }        
        catch   (SqlException   e)   {  
              throw   e;  
        }  
  }  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值