在 ADO.NET中使用存储过程
都说存储过程使用起来非常简单,但访问它的代码却挺繁琐,不过还好只要你理清思路这也就不算是问题啦,下面我们通过书中那个简单的小程序来说明如何建立和调用存储过程
创建存储过程
建立一个存储过程,返回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这部分还在学习中,继续......