注册 登录
编程论坛 ASP.NET技术论坛

[求助]asp.net调用存储过程问题

追梦者 发布于 2007-04-25 22:03, 428 次点击

请问下怎么调用存储过程返回值,以下是数据库的表.

只有本站会员才能查看附件,请 登录

在外面有个文本框输入用户名,我要用储存过程得到密码的值,该怎么写,
存储过程:
create proc returnvalue
@username char(20),
@check char(10) output
as
select @check=pwd from usertb
where userName=@username
return (@check)
不知道有没有错
比如我在文本框中输入aa,在label标签中要得到密码bb.
有知道的教下,谢谢,最好能给个例子....

1 回复
#2
铲铲2007-04-26 05:38

简单的存储过程调用和执行SQL语句没有什么两样。
可以使用Command对象像执行SQL语句那样来执行存储过程。

如果将Command对象的CommandType设置为StoredProduces,那么CommandText属性就只需要指出存储过程名。
如果CommandType设置为Text,那么CommandText属性就要设置成像数据库执行存储过程的SQL命令一样的格式:
EXEC [存储过程名]

在你上面的存储过程中,会返回一个值。因此执行该存储过程可以采用ExecuteScalar方法,它将把这个值返回。如果采用ExecuteReader方法也可以,它返回一个Reader对象,但是只有一行一列。

用Command执行存储过程和执行SQL文本本质上是一样的,只不过存储过程是一个名称代表了一系列在数据库定义好的一系列SQL语句。因此用Command执行存储过程也可以像SQL语句那样返回行集(也即是一个数据表,规范地说就叫行结果集),要处理行集最好就是返回Reader对象了。

这只是简单的Command,如果想更系统化规范化地使用,也可以用DataSet搭配Adapter的模型。因为Adapter本质上是保存了一系列Command的集合,所以同样对存储过程也是可行的。

要是你还是不太明白如何编程操作数据库的话,那建议你好好看看书吧。

1