Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con il redirect

    Salve a tutti
    ho questo problema: dopo aver aggiornato un record vorrei che mi facesse vedere il dettaglio di del record aggiornato.
    Premetto che per fare ciò uso Dreamweaver.
    Il codice che mi genera per questa operazione è:
    codice:
    <%
    ' *** Update Record: set variables
    
    If (CStr(Request("MM_update")) = "form2" And CStr(Request("MM_recordId")) <> "") Then
    
      MM_editConnection = MM_conn_teammeccanica_STRING
      MM_editTable = "Ordine"
      MM_editColumn = "ID_ordine"
      MM_recordId = "" + Request.Form("MM_recordId") + ""
      MM_editRedirectUrl = "ordine_details.asp?ID_ordine=" + (rs_ordine.Fields.Item("ID_ordine").Value) + ""
      MM_fieldsStr  = "Ordine_n|value|Data_emissione_ordine|value|Data_consegna_ordine|value|Trasporto|value|Pagamento|value|Annotazioni|value|Esenzione_IVA|value"
      MM_columnsStr = "Ordine_n|',none,''|Data_emissione_ordine|',none,NULL|Data_consegna_ordine|',none,NULL|Trasporto|',none,''|Pagamento|',none,''|Annotazioni|',none,''|Esenzione_IVA|none,1,0"
    
      ' 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
    %>
    Quando edito la pagina on-line mi da questo errore:

    Microsoft VBScript runtime error '800a01a8'

    Object required: ''

    /teammeccanica/inordine.asp, line 68

    La linea 68 è quella del redirect ( MM_editRedirectUrl = "ordine_details.asp?ID_ordine=" + (rs_ordine.Fields.Item("ID_ordine").Value) + "")
    Si può fare?
    Come devo scrivere il codice in modo corretto se si può fare?

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    cosa è rs_ordine?
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    il recordset...

    fondamentalmente va se non gli do i parametri ma a me i parametri servono...

  4. #4
    l'ID del record viene passato come campo nascosto: anzichè scomodare il database ed il recordset (che nell'Update Record, a quel punto della pagina, non è ancora stato aperto), puoi usare quello

    Sostituisci:
    codice:
    "ordine_details.asp?ID_ordine=" + (rs_ordine.Fields.Item("ID_ordine").Value) + ""
    con
    codice:
    "ordine_details.asp?ID_ordine=" + Request.Form("MM_recordId") + ""
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  5. #5
    Ora mi da questo errore che non avevo mai visto...

    Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

    [Microsoft][ODBC Microsoft Access Driver] Syntax error (comma) in query expression 'ID_ordine = 10978, 10978'.

    /teammeccanica/ordine_details.asp, line 40

    la linea 40 è quella evidenziata
    codice:
    <%
    Dim rs_ordine
    Dim rs_ordine_numRows
    
    Set rs_ordine = Server.CreateObject("ADODB.Recordset")
    rs_ordine.ActiveConnection = MM_conn_teammeccanica_STRING
    rs_ordine.Source = "SELECT * FROM q_ordini WHERE ID_ordine = " + Replace(rs_ordine__MMColParam, "'", "''") + ""
    rs_ordine.CursorType = 0
    rs_ordine.CursorLocation = 2
    rs_ordine.LockType = 1
    rs_ordine.Open() 
    
    rs_ordine_numRows = 0
    %>

  6. #6
    Commenta (metti un ' davanti) queste righe qui:
    codice:
    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
    Se ci fai caso, Dreamweaver ha l'abitudine (vantaggiosa in alcuni casi, in altri no) di aggiungere valori alla QueryString ad ogni Insert o Update: nel tuo caso, ha aggiunto 2 "ID_ordine" alla QueryString, mandando in palla il database
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  7. #7
    grande, sei un mito...

    Grazie mille... veramente

  8. #8
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  9. #9
    Per curiosità, nella pagina di update come si chiama il parametro che passi? perchè se si chiama ID_ordine abbiamo fatto tanta fatica per nulla: bastava mettere semplicemente MM_editRedirectUrl = "ordine_details.asp" (senza parametri) e Dreamweaver avrebbe fatto il resto, senza bisogno di commentare quelle righe
    Home: http://www.ivansweb.com
    Le mie applicazioni gratuite in ASP
    · IWGallery
    · IWNewsletter
    · IWMessenger
    · IWGuestbook

  10. #10
    Ehm....qual'è la pagina di update... perdona l'ignoranza...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.