Dreamweaver ASP 更新记录未传递查询字符串
Dreamweaver ASP update record not passing query string
我正在尝试使用 Dreamweaver 更新 SQL 数据库中的记录,它本身运行良好,但我希望转到 url 以显示更新后的产品记录。
我尝试使用一些在线教程来解决这个问题,但不断出现此错误
Microsoft VBScript 运行时错误“800a01a8”
所需对象: ''
/coding_requests/dashboard.asp,第 33 行
这是我的代码;
<%
If (CStr(Request("MM_update")) = "coding_technical_code") Then
If (Not MM_abortEdit) Then
' execute the update
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_conn_PSCRM_Demo_STRING
MM_editCmd.CommandText = "UPDATE DBA.coding_requests SET prodref = ?, lastupdatedby = ?, coding_status = ? WHERE prodref = ?"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 25, Request.Form("prodref")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, 3, Request.Form("lastupdatedby")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 201, 1, 6, Request.Form("coding_status")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 200, 1, 25, Request.Form("MM_recordId")) ' adVarChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "coding.asp?prodref=" & (RS_Dashboard_Coding_TechnicalView.Fields.Item("prodref").Value)
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>
有什么建议吗?
这个错误的原因很简单,第33行包含一个对象引用(这是一个用Set variablename =
创建的变量)但是运行时无法识别它作为已创建(实例化)的对象引用。
评论中解释的第33行指向
MM_editRedirectUrl = "coding.asp?prodref=" & (RS_Dashboard_Coding_TechnicalView.Fields.Item("prodref").Value)
这一行的对象引用是 RS_Dashboard_Coding_TechnicalView
但在提供的代码中没有任何地方是使用
实例化的对象引用 RS_Dashboard_Coding_TechnicalView
Set RS_Dashboard_Coding_TechnicalView = Server.CreateObject("ADODB.Recordset")
以上行是根据对象引用的名称和您尝试使用的方法进行的有根据的猜测 (.Fields.Item()
)。
如果您只是想将 prodref
的值从您的表单 POST 传递给 MM_editRedirectUrl
变量作为 @SearchAndResQ suggests ,只需传递 [=19] 的值=] 您已经必须提交,所以该行将是;
MM_editRedirectUrl = "coding.asp?prodref=" & Request.Form("profref")
我正在尝试使用 Dreamweaver 更新 SQL 数据库中的记录,它本身运行良好,但我希望转到 url 以显示更新后的产品记录。
我尝试使用一些在线教程来解决这个问题,但不断出现此错误
Microsoft VBScript 运行时错误“800a01a8” 所需对象: '' /coding_requests/dashboard.asp,第 33 行
这是我的代码;
<%
If (CStr(Request("MM_update")) = "coding_technical_code") Then
If (Not MM_abortEdit) Then
' execute the update
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_conn_PSCRM_Demo_STRING
MM_editCmd.CommandText = "UPDATE DBA.coding_requests SET prodref = ?, lastupdatedby = ?, coding_status = ? WHERE prodref = ?"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 201, 1, 25, Request.Form("prodref")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 201, 1, 3, Request.Form("lastupdatedby")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param3", 201, 1, 6, Request.Form("coding_status")) ' adLongVarChar
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param4", 200, 1, 25, Request.Form("MM_recordId")) ' adVarChar
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "coding.asp?prodref=" & (RS_Dashboard_Coding_TechnicalView.Fields.Item("prodref").Value)
If (Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0) Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
Response.Redirect(MM_editRedirectUrl)
End If
End If
%>
有什么建议吗?
这个错误的原因很简单,第33行包含一个对象引用(这是一个用Set variablename =
创建的变量)但是运行时无法识别它作为已创建(实例化)的对象引用。
评论中解释的第33行指向
MM_editRedirectUrl = "coding.asp?prodref=" & (RS_Dashboard_Coding_TechnicalView.Fields.Item("prodref").Value)
这一行的对象引用是 RS_Dashboard_Coding_TechnicalView
但在提供的代码中没有任何地方是使用
RS_Dashboard_Coding_TechnicalView
Set RS_Dashboard_Coding_TechnicalView = Server.CreateObject("ADODB.Recordset")
以上行是根据对象引用的名称和您尝试使用的方法进行的有根据的猜测 (.Fields.Item()
)。
如果您只是想将 prodref
的值从您的表单 POST 传递给 MM_editRedirectUrl
变量作为 @SearchAndResQ suggests
MM_editRedirectUrl = "coding.asp?prodref=" & Request.Form("profref")