11. december 2003 - 09:18Der er
1 kommentar og 1 løsning
Opdatering af flere records på samme tid
jeg er ved at tage en indkøbskurv og har problemer med at få oversigt siden til at virke. Der skal brugeren have mulighed for at opdatere antallet af varer i kurven, men jeg kan ikke få det til at virke - kun når der et ét produkt i kurven.
Dim MM_editAction Dim MM_abortEdit Dim MM_editQuery Dim MM_editCmd
Dim MM_editConnection Dim MM_editTable Dim MM_editRedirectUrl Dim MM_editColumn Dim MM_recordId
Dim MM_fieldsStr Dim MM_columnsStr Dim MM_fields Dim MM_columns Dim MM_typeArray Dim MM_formVal Dim MM_delim Dim MM_altVal Dim MM_emptyVal Dim MM_i
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 MM_abortEdit = false
' query string to execute MM_editQuery = "" %> <% ' *** Update Record: set variables
If (CStr(Request("MM_update")) = "form1" And CStr(Request("MM_recordId")) <> "") Then
' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, "|") MM_columns = Split(MM_columnsStr, "|")
' set the form values For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i))) Next
' append the query string to the redirect URL If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString End If End If
End If %> <% ' *** Update Record: construct a sql update statement and execute it
If (CStr(Request("MM_update")) <> "" And CStr(Request("MM_recordId")) <> "") Then
' create the sql update statement MM_editQuery = "update " & MM_editTable & " set " For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_formVal = MM_fields(MM_i+1) MM_typeArray = Split(MM_columns(MM_i+1),",") MM_delim = MM_typeArray(0) If (MM_delim = "none") Then MM_delim = "" MM_altVal = MM_typeArray(1) If (MM_altVal = "none") Then MM_altVal = "" MM_emptyVal = MM_typeArray(2) If (MM_emptyVal = "none") Then MM_emptyVal = "" If (MM_formVal = "") Then MM_formVal = MM_emptyVal Else If (MM_altVal <> "") Then MM_formVal = MM_altVal ElseIf (MM_delim = "'") Then ' escape quotes MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'" Else MM_formVal = MM_delim + MM_formVal + MM_delim End If End If If (MM_i <> LBound(MM_fields)) Then MM_editQuery = MM_editQuery & "," End If MM_editQuery = MM_editQuery & MM_columns(MM_i) & " = " & MM_formVal Next MM_editQuery = MM_editQuery & " where " & MM_editColumn & " = " & MM_recordId
If (Not MM_abortEdit) Then ' execute the update Set MM_editCmd = Server.CreateObject("ADODB.Command") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then Response.Redirect(MM_editRedirectUrl) End If End If
End If %> <% Dim rsIndkoebskurv__MMColParam rsIndkoebskurv__MMColParam = Session.SessionID %> <% Dim rsIndkoebskurv Dim rsIndkoebskurv_numRows
Set rsIndkoebskurv = Server.CreateObject("ADODB.Recordset") rsIndkoebskurv.ActiveConnection = MM_scandlines_STRING rsIndkoebskurv.Source = "SELECT Overskrift, Land, Pris_DKK, IDvin, SessionID, VinID, SUM(Antal) AS VinAntal FROM Indkoebskurv, Vin WHERE SessionID = " + Replace(rsIndkoebskurv__MMColParam, "'", "''") + " AND VinID = IDvin GROUP BY Overskrift ORDER BY Overskrift ASC" rsIndkoebskurv.CursorType = 0 rsIndkoebskurv.CursorLocation = 2 rsIndkoebskurv.LockType = 1 rsIndkoebskurv.Open()
rsIndkoebskurv_numRows = 0 %> <% Dim rsTotal Dim rsTotal_numRows
Set rsTotal = Server.CreateObject("ADODB.Recordset") rsTotal.ActiveConnection = MM_scandlines_STRING rsTotal.Source = "SELECT SUM(Pris_DKK) AS Total FROM Indkoebskurv, Vin WHERE SessionID = "+ Session.SessionID + " AND VinID = IDvin" rsTotal.CursorType = 0 rsTotal.CursorLocation = 2 rsTotal.LockType = 1 rsTotal.Open()
rsTotal_numRows = 0 %> <% Dim Repeat1__numRows Dim Repeat1__index
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.