首页 > 解决方案 > 经典 Asp - ADO 子例程未正确调用

问题描述

我的 asp 文件中有一个子例程,我正在尝试添加到数据库表中。当我从逻辑中删除子例程包装器时,它可以工作。(当然,在任何用户交互之前自动提交)。

我已经前后测试了这个,我一生都无法理解为什么会发生这种情况。我添加了逻辑以防止在字段值为空或未按下按钮时提交数据。

任何帮助将不胜感激..必须承认这个让我发疯,因为我正在从另一个我写在另一个页面上完美运行的例程中复制它。

谢谢。

<%  Dim objConn, connStr, strSql
    Dim iCommandID
    Dim strUserName, strEmailAddress, strPassword1, bSubmit
    iCommandID = Request.Form("cmdID")
    strUserName = CStr(Request.Form("username")) 
    strEmailAddress = CStr(Request.Form("emailAddress"))
    strPassword1 = CStr(Request.form("password1"))
    bSubmit = Request.Form("btnSubmit")
   
  
   If Request.Form("cmdID").Count > 0 Then 
        iCommandID = CLng(Request.Form("cmdID"))
    ElseIf Request.QueryString("cmdID").Count > 0 Then 
        iCommandID = Clng(Request.QueryString("cmdID"))
Else 
  iCommandID = 0
End If 
response.write(iCommandID)

SELECT CASE iCommandID
    CASE 1
        addUser
END SELECT 
        


Sub addUser
    If bSubmit <> "" Then 
        If strUserName <> "" AND strEmailAddress <> "" AND strPassword1 <> "" Then 
            connStr = Application("DATABASE_CONNECTION_STRING")
            Set objConn = Server.CreateObject("ADODB.Connection")
                objConn.Open(connStr)
                strSql = "INSERT INTO dbo.tbl_Users (userName, userEmailAdd, userPassHash) VALUES (" + "'" + strUserName + "'," + "'" + strEmailAddress + "'," + "'" + strPassword1 + "'" + ")"
                objConn.Execute strSql, , adCmdText
                objConn.Close
            Set objConn = Nothing
        End If 
    End If 
End Sub
%> ```

标签: sqldatabaseasp-classicado

解决方案


推荐阅读