再次请问:

duwucn 2003-05-16 12:23:59
请问如何在程序中调用存储过程,例如一个简单的例子,当用户输入用户名和密码时,写一个存储过程自动查找表中与之对应的数据,在程序和存储过程之间怎么传递参数呢?

最好写一个代码,小弟初学,在此谢谢前辈们了
...全文
33 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
duwucn 2003-05-16
  • 打赏
  • 举报
回复
怎么得到从存储过程的返回值呢??
lining_1977 2003-05-16
  • 打赏
  • 举报
回复
sql="check '"&username&"','"&password&"'"
con.execute(sql)
duwucn 2003-05-16
  • 打赏
  • 举报
回复
adDBTimeStamp,adParamInput,8,now()
这两个怎么用,说说,我就快会了谢了
lsrzm 2003-05-16
  • 打赏
  • 举报
回复
应该为:
set sqlCmd=Server.CreateObject("ADODB.Command")
sqlCmd.ActiveConnection=dbconn
sqlCmd.CommandType=adCmdStoredProc
sqlCmd.CommandText="dbo.myturn"
name= request("name")
set param1=sqlCmd.CreateParameter(name,adDBTimeStamp,adParamInput,8,now())
sqlCmd.Parameters.Append param1
pass = request("pass")
set param2=sqlCmd.CreateParameter(pass,adDBTimeStamp,adParamInput)
sqlCmd.Parameters.Append param2

set param3=sqlCmd.CreateParameter("value",adDBTimeStamp,adParamOutput)
sqlCmd.Parameters.Append param3
sqlcmd.Execute
if (sqlCmd.Parameters("value").Value =1)
success
else
failed
end if
lsrzm 2003-05-16
  • 打赏
  • 举报
回复
应该为:
set param2=sqlCmd.CreateParameter("value",adDBTimeStamp,adParamOutput)
sqlCmd.Parameters.Append param2
sqlcmd.Execute
if (sqlCmd.Parameters("value").Value =1)
success
else
failed
end if
lsrzm 2003-05-16
  • 打赏
  • 举报
回复
set sqlCmd=Server.CreateObject("ADODB.Command")
sqlCmd.ActiveConnection=dbconn
sqlCmd.CommandType=adCmdStoredProc
sqlCmd.CommandText="dbo.myturn"
name= request("name")
set param1=sqlCmd.CreateParameter(name,adDBTimeStamp,adParamInput,8,now())
sqlCmd.Parameters.Append param1
pass = request("pass")
set param2=sqlCmd.CreateParameter(pass,adDBTimeStamp,adParamInput)
sqlCmd.Parameters.Append param2

set param2=sqlCmd.CreateParameter("value",adDBTimeStamp,adParamInput)
sqlCmd.Parameters.Append param2
sqlcmd.Execute
if (sqlCmd.Parameters("value").Value =1)
success
else
failed
end if
51946486 2003-05-16
  • 打赏
  • 举报
回复
set cmddatachk = server.createobject("ADODB.Command")
cmddatachk.commandtype = adCmdStoredProc
cmddatachk.commandtext = "dbo.up_getsubnode"
cmddatachk.commandtimeout = 600
cmddatachk.activeconnection = conn
'存储过程返回值
'cmddatachk.parameters.append = cmddatachk.createparameter("Rt",adInteger,adParamReturnValue)
'存储过程输入和输出参数
cmddatachk.parameters.append = cmddatachk.createparameter("@parentsjdm",adVarWChar ,adParamInput,45,sjdm)
cmddatachk.parameters.append = cmddatachk.createparameter("@subnodenames",adVarWChar ,adParamOutput,8000)
cmddatachk.parameters.append = cmddatachk.createparameter("@subnodenames_1",adVarWChar ,adParamOutput,8000)
cmddatachk.parameters.append = cmddatachk.createparameter("@subnodenums",adVarWChar ,adParamOutput,8000)
cmddatachk.parameters.append = cmddatachk.createparameter("@subnodesjdms",adVarWChar ,adParamOutput,8000)
cmddatachk.parameters.append = cmddatachk.createparameter("@subnodesjdms_1",adVarWChar ,adParamOutput,8000)
cmddatachk.parameters.append = cmddatachk.createparameter("@zbjs_all",adVarWChar ,adParamOutput,8000)
on error resume next
cmddatachk.execute lngrecs,,adExecuteNoRecords
subnodenames = cmddatachk.parameters(1)
subnodenames_1= cmddatachk.parameters(2)
subnodenums=cmddatachk.parameters(3)
returnvalue=cmddatachk.parameters(0)'返回之
lsrzm 2003-05-16
  • 打赏
  • 举报
回复
存储过程如下:如果存才的话,返回1,否则返回0
CREATE procedure myturn
@name varchar(10), --输入参数
@pass varchar(8), --输入参数
@back int=0 Output --输出参数
as
declare
@thename varchar(8),
@cursorstatus int

declare mycursor cursor for
select name from
TUsers where password=@pass and name = @name
open mycursor
fetch from mycursor into @thename
select @cursorstatus = @@FETCH_STATUS
if (@cursorstatus = 0)
select @back =1
else
select @back =0
return @back

CLOSE MyCursor
DEALLOCATE MyCursor
GO

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧