首先通过创建asp组件函数,调用页面的编辑框值,得到输入参数,然后,判断组件函数使用存储过程得到的返回值是1的话,就继续执行,得出输出参数,在页面表单上的表赋值或给成label值也可。 CREATE PROCEDURE dbo.getUserName
--为了加深对"顺序"的印象,将以下两参数的定义顺序颠倒一下
@UserName varchar(40) output,
@UserID int
as
set nocount on
begin
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
if @@rowcount>0
return 1
else
return 0
return
end
go '**调用同时具有返回值、输入参数、输出参数的存储过程**
--为了加深对"顺序"的印象,将以下两参数的定义顺序颠倒一下
@UserName varchar(40) output,
@UserID int
as
set nocount on
begin
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
if @@rowcount>0
return 1
else
return 0
return
end
go '**调用同时具有返回值、输入参数、输出参数的存储过程**
解决方案 »
- lucene.net没有关键字用盘古分词查询全部 怎样实现。。。。?
- dz7.2论坛快速登陆框整合
- jQuery中lazyload问题
- 请教一个关于excel里面图片的问题
- 如何向DataGrid中追加查询出来的内容,要求用C#来实现
- 一個小問題,高手低手都有看下.關於傳值的問題
- C#的WebForm 中可不可以嵌套调用ASP网页
- 怎样获取鼠标点击页面事件,除去页面上的控件!各位大哥大姐帮帮忙拉!!!!!
- dropdownlist的问题,数据绑定和事件处理
- 请问怎样能做出像window菜一样使它总是在任何窗口里,其它的窗口打开时在它的下面。我是想用
- ==高分请教web项目打包安装,并可以生成序列号的问题==??不够继续加分,解决了可以再开帖
- 关于打印的代码,高手路过看一下.谢谢!
--为了加深对"顺序"的印象,将以下两参数的定义顺序颠倒一下
--@UserName varchar(40) output,--此句删掉
@UserID int
as
set nocount on
begin
declare @username varchar(40)
set @username = ""
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
if @@rowcount>0
--return 1更改开始,此句删掉
select '1' result,@username msg
else
--return 0
select '0' result,'错误信息' msg
return
end
go
程序中用EXEC执行这个存储过程,得到返回值result,msg 同时判断,如果result = "1" 则将msg赋值给你要的,否则显示msg错误信息
-------------------------------------
看看可以不可以。
存储过程写的也正确,也满足了你的所有条件,你要怎么样?
如果要在程序中获取的话command里的parameter也有output选项,return的值也可以用@RETURNVALUE直接获取.
你究竟在搞什么?
//存储过程
CREATE PROCEDURE dbo.sp_chf
(@yhm char(20) )AS
declare @gesh tinyintselect @gesh=count(yhm) from zcb where yhm=@yhmif @gesh<>0
return 1
else
return 0
GO//组件
imports system
imports system.data
imports system.data.sqlclientnamespace aapublic class userpublic objconn as new sqlconnection("server=(local);uid=sa;pwd=;database=text" )
public objcmd as sqlcommand
public function chf(stryhm as string) as string
objcmd =new sqlcommand("sp_chf",objconn)
objcmd.commandtype=commandtype.storedprocedure dim objreturn as new sqlparameter("@return_value",sqldbtype.int)
objreturn.direction=parameterdirection.returnvalue
objcmd.parameters.add(objreturn) dim objparam as new sqlparameter("@yhm",sqldbtype.varchar,20)
objparam.value=stryhm
objcmd.parameters.add(objparam)
try
objcmd.connection.open()
objcmd.ExecuteNonQuery
objcmd.connection.close()
if objreturn.value=1 then
return "重复"
else
return "不重复"
end if
catch ex as sqlexception
throw ex
end try
end functionend class
end namespace//页面
<%@ page language="vb"%>
<%@ import namespace="system.data" %>
<%@ import namespace="system.data.sqlclient" %>
<%@ import namespace="aa" %>
<script runat="server">sub xsh(obj as object,e as eventargs)
dim objuser as new userlblmessage.text=objuser.chf(tbyhm.text)end sub
</script><html><body>
<form runat="server">
<asp:label id="lblmessage" runat="server"/>
<asp:textbox id="tbyhm" runat="server"/><asp:button id="btsubmit" runat="server" onclick="xsh" text="submit" />
</form>
</body></html>现在清楚没有。这是一个取返回值的,如果向问题中的有输入参数、输出参数、返回值勤,这个组件怎么写呀。页面怎么写