Question
problem updating SQL bit field? No error, but isn't updating?
Hi,
I used the DW Update wizard to create an Update form which updates one
field, a bit field in an SQL database table.
Problem is, it isn't changing the field value! The bit field is initially
"True" and I want to update it to be "False".
Here's the code:
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" &
Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End Function
%>
<%
If (CStr(Request("MM_update")) = "form1") Then
If (Not MM_abortEdit) Then
' execute the update
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_connNAME_STRING
MM_editCmd.CommandText = "UPDATE dbo.tblOrders SET liveorder = ? WHERE
orderID = ?"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5,
1, -1, MM_IIF(Request.Form("liveorder"), -1, 0)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 5,
1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"),
null)) ' adDouble
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "confirmdelete.asp"
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
%>
And this is the form that I'm using:
<form method="POST" action="<%=MM_editAction%>" name="form1">
<input type="hidden" name="liveorder" value=0 />
<input type="submit" value="Update record" />
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%=
rsOrders.Fields.Item("orderID").Value %>">
</form>
The only thing I've changed is to make the "liveorder" form field hidden.
But even if I don't do that, it still doesn't work.
Hope someone can spot something I've obviously missed.
Regards
Nath.
I used the DW Update wizard to create an Update form which updates one
field, a bit field in an SQL database table.
Problem is, it isn't changing the field value! The bit field is initially
"True" and I want to update it to be "False".
Here's the code:
<%
Dim MM_editAction
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" &
Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
Dim MM_abortEdit
MM_abortEdit = false
%>
<%
' IIf implementation
Function MM_IIf(condition, ifTrue, ifFalse)
If condition = "" Then
MM_IIf = ifFalse
Else
MM_IIf = ifTrue
End If
End Function
%>
<%
If (CStr(Request("MM_update")) = "form1") Then
If (Not MM_abortEdit) Then
' execute the update
Dim MM_editCmd
Set MM_editCmd = Server.CreateObject ("ADODB.Command")
MM_editCmd.ActiveConnection = MM_connNAME_STRING
MM_editCmd.CommandText = "UPDATE dbo.tblOrders SET liveorder = ? WHERE
orderID = ?"
MM_editCmd.Prepared = true
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param1", 5,
1, -1, MM_IIF(Request.Form("liveorder"), -1, 0)) ' adDouble
MM_editCmd.Parameters.Append MM_editCmd.CreateParameter("param2", 5,
1, -1, MM_IIF(Request.Form("MM_recordId"), Request.Form("MM_recordId"),
null)) ' adDouble
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
' append the query string to the redirect URL
Dim MM_editRedirectUrl
MM_editRedirectUrl = "confirmdelete.asp"
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
%>
And this is the form that I'm using:
<form method="POST" action="<%=MM_editAction%>" name="form1">
<input type="hidden" name="liveorder" value=0 />
<input type="submit" value="Update record" />
<input type="hidden" name="MM_update" value="form1">
<input type="hidden" name="MM_recordId" value="<%=
rsOrders.Fields.Item("orderID").Value %>">
</form>
The only thing I've changed is to make the "liveorder" form field hidden.
But even if I don't do that, it still doesn't work.
Hope someone can spot something I've obviously missed.
Regards
Nath.
