十二时辰经络图:标准表达式中数据类型不匹配

来源:百度文库 编辑:高校问答 时间:2024/05/04 08:02:02
<html>
<head><title>处理用户提交的新会员注册信息</title></head>
<body link="red">
<%
ID=request("txtID")
pass=request("txtpass")
pass1=request("txtpass1")
name=replace(request("txtname"),"","")
mail=request("txtmail")
sex=request("radsex")
year1=request("txtyear")
month1=request("selmonth")
day1=request("selday")
birthday=year1&"/"&month1&"/"&day1
education=request("seleducation")
state=request("selstate")
tel=request("txttel")
if ID="" or pass="" or pass1="" or name="" or mail="" or year1="" or tel="" then
showmessage"新会员注册表中的全部空格都要填写哦!"
end if
if len(pass)>8 then
showmessage"您所填写的密码超过了规定的8个字的长度!"
end if
if pass<>pass1 then
showmessage"您所填写的密码和确认密码不一致!"
end if
if instr(mail,"@")=0 or left(mail,1)="@" or right(mail,1)="@" then
shoemessage"您所填写的电子邮件地址有错误!"
end if
year2=isnumeric(year1)
if year2=false then
shoemessage"您所填写的出生日期有错误!"
end if
if date()<cdate(birthday) then
shoemessage"您所填写的出生日期有错误!"
end if
tel1=isnumeric(tel)
if tel1=false then
showmessage"您所填写的电话号码必须全部是数字!"
end if
set newconn=server.CreateObject("adodb.connection")
dbpath=Server.MapPath("member.mdb")
newconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&DBPath
sqlcmd="select*from member where ID='"&id&"'"
set rs=newconn.execute(sqlcmd)
if not rs.eof then
showmessage"这个“会员代号”已经占用,请填写其他代号!"
else
sqlcmd="insert into member(ID,pass,pass1,name,EMail,sex,birthday,"
sqlcmd=sqlcmd&"education,state,tel)values('"&id&"','"&pass&"','"&pass1&"',"
sqlcmd=sqlcmd&"'"&name&"','"&mail&"','"&sex&"','"&birthday&"',"
sqlcmd=sqlcmd&"'"&education&"','"&state&"',"&tel&")"
newconn.execute sqlcmd
response.Write"<center><h3>"
response.Write"已经完成注册手续,祝贺您成为东东会员!</h3>"
response.Write"您的会员代号是<b>"&id&"</b><p>"
response.Write"<a href=default.htm>返回会员登录首页</a></center>"
end if
%>
<%
sub showmessage(message)
response.Write"<center><h3>"&message&"</h3>"
response.Write"<a href=Add.asp>返回上一页</a></center>"
response.End
end sub
%>
</body>
</html>

错误类型:
Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。
/袁媛的网站/db/Add_Member.asp, 第 55 行
各为大侠帮忙解决一下
还有'"&pass&"'这种符号我写的还对啊,还是应该例外调一下?

首先,我置疑你在数据库中存在pass又存在pass1的这种做法,pass1的存在仅仅是为了检查用户输入,何必给它在数据库中留一席之地?

其次,response.End并不会中止程序的运行,只是中止对客户端的输出而已,你要保证程序不出错误,必须这样写showmessage:

<%
sub showmessage(message)
response.Write"<center><h3>"&message&"</h3>"
response.Write"<a href=Add.asp>返回上一页</a></center>"
response.End
checkfail="yes"
end sub
%>

在程序首部用Dim checkfail定义。

然后把你对数据库操作的语句全部用这个包起来:

If checkfail<>"yes" Then

End If

然后再试试看!