asp调用SQL Server 2000 存储过程是遇到的奇怪的问题~
我的asp程序是
Dim cmd
Set cmd = Server.CreateObject("Adodb.Command")
cmd.ActiveConnection = "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=21edu;Data Source=localhost"
cmd.commandtext = "p_my_xd_memberAdd"
cmd.commandtype = adcmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@xd_username", adVarChar, adParaminput, 50, xd_username)
cmd.Parameters.Append cmd.CreateParameter("@xd_password", adVarChar, adParaminput, 50, xd_password)
cmd.Parameters.Append cmd.CreateParameter("@xd_email", adVarChar, adParaminput, 50, xd_email)
cmd.Parameters.Append cmd.CreateParameter("@xd_passtip", adVarChar, adParaminput, 50, xd_passtip)
cmd.Parameters.Append cmd.CreateParameter("@xd_passanswer", adVarChar, adParaminput, 50, xd_passanswer)
' response.write (xd_username&"_"&xd_password&"_"&xd_email&"_"&xd_passtip&"_"&xd_passanswer)'
' response.end
'运行存储过程
cmd.Execute()
'清除对象
Set cmd.ActiveConnection=Nothing
Set cmd = Nothing
存储过程是
--<table comment>
--操作表名:xd_member
--表说明:
--方法说明:向表中添加一条记录
--</table comment>
CREATE PROCEDURE dbo.p_my_xd_memberAdd
(
@xd_password char(50),
@xd_email varchar(50),
@xd_username varchar(50),
@xd_passtip varchar(50),
@xd_passanswer varchar(50)
)
AS
BEGIN TRAN
INSERT INTO xd_member (
xd_password,
xd_email,
xd_username,
xd_passtip,
xd_passanswer
)
VALUES (
@xd_password,
@xd_email,
@xd_username,
@xd_passtip,
@xd_passanswer
)
IF @@ERROR!=0
BEGIN
ROLLBACK TRAN
RAISERROR 20000 'p_my_xd_memberAdd: Cannot insert data into p_my_xd_memberAdd'
RETURN(1)
END
COMMIT TRAN
GO
前台页面是
<form action="reg.asp" method="post" onSubmit="return Validator.Validate(this,2)">
<input type="hidden" name="city" value="<%=session("city")%>">
<TABLE width="80%" align="center" border="0" cellpadding="0" cellspacing="1" class="pt9" style="font-size:12;color:#9B9B9B" >
<TR>
<TD align="center" height="30" colspan="2">
<input type="radio" name="identy" value="iteacher" checked>教员注册
<input type="radio" name="identy" value="istudent">学员注册
</TD>
</TR>
<TR>
<TD width="30%" align="right" height="30">用户名:</TD>
<TD>
<input class="n1" type="text" maxlength="20" size="20" name="username" dataType="Custom" min="4" max="20" regexp="^[A-Za-z]{1}\w{3,16}" msg="用户名只允许以字母开头的字母和数字组合,长度不能小于4个字符"><span style="color:red">(*20个字符以内)</span>
</TD>
</TR>
<TR>
<TD align="right" height="30">密码:</TD>
<TD>
<input class="n1" type="password" maxlength="20" size="20" dataType="Require" msg="请填写密码" id="password" name="password">
<span style="color:red">(*20个字符以内)</span>
</TD></TR>
<TR>
<TD align="right" height="30">确认密码:</TD>
<TD>
<input class="n1" type="password" maxlength="20" size="20" id="password2" name="password1" dataType="Repeat" to="password" msg="两次输入的密码不一致">
</TD>
</TR>
<TR>
<TD align="right" height="30">电子邮件:</TD>
<TD>
<input class="n1" type="text" maxlength="30" size="30" id="email" name="email" dataType="Email" msg="邮箱格式不正确">
<span style="color:red">(*必填)</span>
</TD>
</TR>
<TR>
<TD align="right" height="30">密码提示问题:</TD>
<TD>
<input class="n1" type="text" maxlength="30" size="30" id="passtip" name="passtip">
</TD>
</TR>
<TR>
<TD align="right" height="30">找回密码答案:</TD>
<TD>
<input class="n1" type="text" maxlength="30" size="30" id="passanswer" name="passanswer">
</TD>
</TR>
<TR>
<TD align="right" height="30">是否接受家教网Email通知:</TD>
<TD>
<input type="radio" name="acceptemail" value="1" checked>是
<input type="radio" name="acceptemail" value="0">否
</TD>
</TR>
<TR>
<TD colspan="2">
<font color="red">(如果你选择了此项,系统会将最符合你的教员或学员家教信息定期发送给你)</font>
</TD>
</TR>
<TR>
<TD align="right" height="30">请输入验证码:</TD>
<TD><input class="n1" type="text" maxlength="6" size="6" id=checkcode name=checkcode>
<img src="chkcode/checkcode.asp">
<span style="color:red">(*必填)</span>
</TD>
</TR>
<TR>
<TD align="right" height="20"></TD>
<TD></TD></TR>
<TR>
<TD align="center" colspan=2>
<input type="hidden" id="identity1" name="identity" >
<!-- <input type="image" src="images/teacher.gif" width="102" height="35" name="iteacher" value="teacher" onclick="document.all.identity1.value='teacher'">
<input type="image" src="images/student.gif" width="102" height="35" name="istudent" value="student" onclick="document.all.identity1.value='student'">
-->
<input type="submit" value="确定">
<input type="reset" value="重写">
</TD>
</TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR>
<TR>
<TD align="right"></TD>
<TD></TD></TR></TABLE>
</form>
出现的错误,我在前台页面提交一个注册信息后,经过程序调用存储过程进行添加操作,出现的结果竟然是 表中 username 的值是 注册的电子邮件,password的值是 注册的用户名,email的值是注册的密码。请各位大虾帮忙找出原因,在线等~急阿
问题点数:20、回复次数:2Top
1 楼libao1983(神勇无敌小豹子)回复于 2006-03-07 15:22:59 得分 5
我看着你写的程序都晕倒了
你是不是获取表单信息的时候出错了?Top
2 楼slayerbb(名字被抢了)回复于 2006-03-07 15:25:05 得分 15
cmd.Parameters.Append cmd.CreateParameter
按过程中的顺序一个一个AppendTop




