'注册参数检查
Public Function company_reg()
username = Trim(request("username"))
chk_username (username) '验证登陆帐号格式
password = Trim(request("password"))
chk_password (password) '验证密码格式
password1 = Trim(request("password1"))
chk_password (password1) '验证密码格式
If Trim(request("password")) <> Trim(request("password1")) Then
  oem_err ("两次输入的密码不相同,返回确认后重新提交")
End If
CompanyName = Trim(request("companyname"))
If Trim(CompanyName) = "" Or strLength(CompanyName) > 100 Or strLength(CompanyName) < 5 Then
  oem_err ("请完整填写单位名称,注册成功后不能更改,最少5个字符")
End If
dwxz = Trim(request("dwxz"))
If dwxz = "" Then
 oem_err ("请选择单位性质!")
End If
hangye = Trim(request("hangye"))
If hangye = "0" Then
 oem_err ("请选择单位所属行业!")
End If
Class1 = Trim(request("class1"))
If Class1 = "" Then
 oem_err ("请选择单位所属地区!")
End If
Class2 = Trim(request("class2"))
If Class2 = "" Then
 oem_err ("请选择单位所属地区!")
End If
FoundDateY = Trim(request("FoundDateY"))
If Not IsNumeric(FoundDateY) Then
 oem_err ("日期填写错误!")
End If
If Trim(FoundDateY) = "" Or FoundDateY < 1850 Or FoundDateY > 2050 Then
 oem_err ("日期填写错误!")
End If
FoundDateM = Trim(request("FoundDateM"))
If Not IsNumeric(FoundDateM) Then
 oem_err ("日期填写错误!")
End If
If Trim(FoundDateM) = "" Or FoundDateM > 12 Then
 oem_err ("日期填写错误!")
End If
FoundDateD = Trim(request("FoundDateD"))
If Not IsNumeric(FoundDateD) Then
 oem_err ("日期填写错误!")
End If
If Trim(FoundDateD) = "" Or FoundDateD > 31 Then
 oem_err ("日期填写错误!")
End If
jieshao = request("jieshao")
If Trim(jieshao) = "" Or strLength(jieshao) > 3000 Or strLength(jieshao) < 50 Then
  oem_err ("请完整填写单位介绍,最少50个字符")
End If
email = Trim(request("email"))
If IsValidEmail(email) = False Then
 oem_err ("邮件地址填写错误!")
End If
lxr = Trim(request("lxr"))
If Trim(lxr) = "" Or strLength(lxr) > 20 Or strLength(lxr) < 2 Then
  oem_err ("请正确填写联系人姓名,2~20个字符")
End If
Address = Trim(request("Address"))
If Trim(Address) = "" Or strLength(Address) > 100 Or strLength(Address) < 5 Then
  oem_err ("请正确填写单位所在地址,注册成功后不能更改,5~100个字符")
End If
yzm = request("yzm")
If yzm = "" Then
 oem_err ("验证码没有填写!")
End Ifsysconn '连接数据库
Set rs = server.CreateObject("adodb.recordset")
username = Trim(request("username"))
sql = "select * from [company] where username ='" & username & "'"
response.Write sql
rs.Open sql, Conn, 3, 3
If rs.EOF Then
'On Error Resume Next
'On Error GoTo errorhandler
   rs.AddNew
   rs("username") = Trim(request("username"))
   rs("password") = Trim(request("password"))
   rs("companyname") = Trim(request("companyname"))
   rs("LicenceNumber") = request("LicenceNumber")
   rs("dwxz") = Trim(request("dwxz"))
   rs("hangye") = Trim(request("hangye"))
   rs("class1") = Trim(request("class1"))
   rs("class2") = Trim(request("class2"))
   date_hc = Trim(request("FoundDateY")) & "-" & Trim(request("FoundDateM")) & "-" & Trim(request("FoundDateD")) & " "
   response.Write date_hc
   If IsDate(Trim(date_hc)) Then
   rs("FoundDate") = date_hc
   End If
   rs("RegisterFund") = request("RegisterFund")
   rs("hb") = request("hb")
   rs("EmployeeNumber") = Trim(request("EmployeeNumber"))
   rs("jieshao") = Trim(request("jieshao"))
   rs("email") = Trim(request("email"))
   rs("email_bm") = Trim(request("email_bm"))
   rs("lxr") = Trim(request("lxr"))
   rs("contact1") = Trim(request("contact1"))
   rs("contact_1") = request("contact_1")
   If Trim(request("Contact_1_bm")) <> "" Then
   rs("Contact_1_bm") = request("Contact_1_bm")
   End If
   rs("contact2") = Trim(request("contact2"))
   rs("contact_2") = request("contact_2")
   If Trim(request("Contact_2_bm")) <> "" Then
   rs("Contact_2_bm") = request("Contact_2_bm")
   End If
   rs("Address") = Trim(request("Address"))
   If request("zip") <> "" Then
    If IsNumeric(request("zip")) Then
     If Len(request("zip")) <> 6 Then
     rs("zip") = request("zip")
     Else
     oem_err ("邮政编码填写错误!")
     End If
    Else
    oem_err ("邮政编码填写错误!")
    End If
   End If
   If request("HomePage") <> "" Then
   If Left(Trim(request("HomePage")), 7) <> "http://" Then
   rs("HomePage") = "http://" & Trim(request("HomePage")) & ""
   Else
   rs("HomePage") = Trim(request("HomePage"))
   End If
   End If
   rs("adPoll") = request("adPoll")
   rs("newsLetter") = request("newsLetter")
   log_ip = request.ServerVariables("HTTP_X_FORWARDED_FOR")
   If log_ip = "" Then
       log_ip = request.ServerVariables("REMOTE_ADDR")
   End If
   rs("ip") = log_ip
   rs("add_date") = Now()
   rs.Update
   Exit Function
   response.Write "用户注册成功!"
   response.EndElse
response.Write "用户已经存在!"
response.End
Exit Function
End If
'If Err Then
'errorhandler:
'response.Write "出错提示:" & Err.Description
'End If
rs.Close
Set rs = Nothing
closedb
Exit Function
End FunctionPublic Function oem_err(txt)
response.Redirect "/err.asp?title= " & txt & " "
Exit Function
response.End
End Function问题:无论怎么改动 Exit Function 的位置程序执行完都是 response.Write "用户已经存在!"
但数据库中没有数据也是这句!好象程序执行了好几次!!程序运行没有任何错误!请帮忙找下原因吧!!

解决方案 »

  1.   

    在If rs.EOF Then处添加断点单步调试一下看看。
      

  2.   

    需要说明的是,数据是已经添加到库中了!
     但不执行 response.Write "用户注册成功!"
    而是直接转到 
    Else
    response.Write "用户已经存在!"
    response.End
    Exit Function
    End If是不是Exit Function 的位置不对!???求解!!!
      

  3.   

    rs.Update
       Exit Function
       response.Write "用户注册成功!"
       response.End
    你这样刚update完就exit function了,当然不会执行response.write这一句了啊,应该是
       rs.Update
       response.Write "用户注册成功!"
       response.End
       Exit Function
      

  4.   

    另外不知道你是如何调用的company_reg这个function,是不是添加记录后又触发了一遍?
    还是建议你添加断点单步调试一下。
      

  5.   

    回复 happy_sea(开心海)exit function 的位置我换过好几个地方,在response.End后面也放过了!问题是程序不是显示不显示response.Write "用户注册成功!" 的问题!主要问题是程序可能rs.addnew了2次以上!当执行第2次的时候提示用户已经存在了!
    第一次执行后数据完整的添加到库里了,但程序不执行 response.Write "用户注册成功!"
    而是直接转到else后面了!这个我不明白!
    在ASP里面是正常的!到VB里面就不行了!
      

  6.   

    另外在ASP中调用的格式是
    set obj=server.createobject("oemjob.oemjob_system")
    obj.company_reg
    set obj=nothing
      

  7.   

    看样子应该是这个function被执行了2次。
    你把 Exit Function的位置按照我说的改了以后,在注册一个不存在的新用户时会接连出现“用户注册成功!”和“用户已经存在!”两次提示吗?
      

  8.   

    happy_sea(开心海) 
    看样子应该是这个function被执行了2次。
    你把 Exit Function的位置按照我说的改了以后,在注册一个不存在的新用户时会接连出现“用户注册成功!”和“用户已经存在!”两次提示吗?
    回复不管库中有没有已经存在的记录都会显示
    用户已经存在
    我也郁闷了!昨天晚上搞到今天了!
    可能就出在小问题上面了,没有想象的那么复杂!
    晕死!