欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

在 ADO.NET中使用存储过程

程序员文章站 2023-12-27 09:28:39
  都说存储过程使用起来非常简单,但访问它的代码却挺繁琐,不过还好只要你理清思路这也就不算是问题啦,下面我们通过书中那个简单的小程序来说明如何建立和调用存储过程 &n...

 

都说存储过程使用起来非常简单,但访问它的代码却挺繁琐,不过还好只要你理清思路这也就不算是问题啦,下面我们通过书中那个简单的小程序来说明如何建立和调用存储过程

 

创建存储过程

      建立一个存储过程,返回ID的所有列SQL如下:

 

             SELECT

         id,lname,fname,phone,address,city,state,zip,contract

             FROM

                    authors

            WHERE

                  id=whatever author ID we want ‘给存储过程传送参数

 

 

            建立一个存储过程,如果变量用@作为前缀,则SQL如下:

 

            SELECT

         id,lname,fname,phone,address,city,state,zip,contract

           FROM

                  authors

           WHERE 

                   Id=@id

 

    注:存储过程可以使一个SQL语句,也可以是一组复杂的语句。T-SQL支持分支,循环和其他变量声明,这将有助于编写出某些非常复杂的存储过程代码

 

  回到例子中的存储过程知识一行SQL代码,当我们要声明要传送参数@id和过程名example的存储过程的时   候SQL代码如下:

 

    CREATE  PROCEDURE example

          @id varchar(11)

    AS

    SELECT

  id,name,phone,address,city,state,zip,contract

    FROM

          authors

    WHERE

          Id=@id

 

  然后将存储过程保存在数据库中,就能在代码中访问这个存储过程了

 

调用存储过程

首先在数据库中创建存储过程,如上文提到得存储过程

然后创建SqlCommand对象,并初始化SqlCommand对象

 

[html] 

<span style="font-size:18px;">SqlCommand cmd = new SqlCommand( );  

 cmd.CommandText = " example ";     // 制定调用哪个存储过程  

 cmd.CommandType = CommandType.StoredProcedure;     // 制定Sql命令类型是存储过程, 默认的为Sql语句。  

 cmd.Connection = con;    // 设定连接<span style="background-color: white; font-family: Arial; line-height: 19pt; ">    </span></span>  

再向SqlCommand对象添加存储过程参数

 

[html 

SqlParameterparam = new SqlParameter( );   // 定义一个参数对象  

 param.ParameterName="@id";                   // 存储过程参数名称  

 param.Value =txtID.Text.Trim();                  // 该参数的值  

  cmd.Parameters.Add(param);                      //SqlCommand对象添加该参数对象  

param =new SqlParameter( "name", txtName.Text.Trim() );   

  cmd.Parameters.Add(param );  

 

使用qlCommand对象调用执行Sql的函数即可

        cmd.ExecuteNonQuery();

                ADO.NET这部分还在学习中,继续......

 

上一篇:

下一篇: