Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493

    aggiornare campi di un database

    sono ancora io, altro problema irrisolto, spero sia l'ultimo!

    ho bisogno di una pagina che mi aggiorni i record del database ed ho creato questa pagina che richiama detetrighe della tabella utilizzando la chiave id.
    solo che quando premo il pulsante aggiorna ottengo guarda caso un errore
    dice che la colonna id non è aggiornabile
    infatti è la colobnna contatore.
    ora il fatto è questo capisco che id non sia aggiornabile, ma come faccio ad eliminare quel campo durante l'invio del form ma lasciandolo per richiamare i dati dal database in precedenza?
    la pagina è questa:

    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    ' *** Edit Operations: declare variables
    
    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
    
      MM_editConnection = MM_celebr_STRING
      MM_editTable = "file"
      MM_editColumn = "ID"
      MM_recordId = "" + Request.Form("MM_recordId") + ""
      MM_editRedirectUrl = "Index.asp"
      MM_fieldsStr  = "ID|value|Giorno|value|NomeFile|value|Omelia|value|Scelta|value"
      MM_columnsStr = "ID|none,none,NULL|Giorno|',none,''|NomeFile|',none,''|Omelia|',none,''|Scelta|',none,''"
    
      ' 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 Recordset1
    Dim Recordset1_numRows
    dim chiave
    
    chiave=request.querystring("id")
    
    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_celebr_STRING
    Recordset1.Source = "SELECT * FROM file WHERE ID=" & cint(chiave)
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()
    
    Recordset1_numRows = 0
    %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Inserimento Libretti</title>
    </head>
    
    <body bgcolor="#DDFFFF">
    
    
    
    
    </p>
    
    <form method="post" action="<%=MM_editAction%>" name="form1">
      <table align="center">
        <tr valign="baseline">
          <td nowrap align="right">ID:</td>
          <td><input type="text" name="ID" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Giorno:</td>
          <td><input type="text" name="Giorno" value="<%=(Recordset1.Fields.Item("Giorno").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">NomeFile:</td>
          <td><input type="text" name="NomeFile" value="<%=(Recordset1.Fields.Item("NomeFile").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Omelia:</td>
          <td><input type="text" name="Omelia" value="<%=(Recordset1.Fields.Item("Omelia").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Scelta:</td>
          <td><input type="text" name="Scelta" value="<%=(Recordset1.Fields.Item("Scelta").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"></td>
          <td><input type="submit" value="Aggiorna record">
          </td>
        </tr>
      </table>
      <input type="hidden" name="MM_update" value="form1">
      <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("ID").Value %>">
    </form>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    
    
    </p>
    <p align="center"><font color="#000000" size="1" face="Arial, Helvetica, sans-serif">Indietro</font></p>
    </body>
    </html>
    <%
    Recordset1.Close()
    Set Recordset1 = Nothing
    %>
    scusate, ma sono 2 giorni che ci lavoro e sto impazzendo veramente

  2. #2
    Il campo "id" non deve fare parte della query di UPDATE.
    Solo che io non sono molto pratico con ASP generato da DW, preferisco scriverlo a mano, per cui il consiglio che posso darti è il medesimo.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    [B]
    Solo che io non sono molto pratico con ASP generato da DW, preferisco scriverlo a mano, per cui il consiglio che posso darti è il medesimo.
    In effetti risulta veramente ostico da leggere e capire.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    avete ragione, ma non so scriverla di sanapianta, mi appoggio a dreamweaver, se qualcuno riuscisse a capire come fare a nn far aggiornare il campo id gliene sarei grata

    ciao a tutti

  5. #5
    Originariamente inviato da Dirk Pitt
    In effetti risulta veramente ostico da leggere e capire.
    ...e manutenere e modificare...
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    nessuno sa come aiutarmi?
    dai, è Natale, fatemi un regalino e opi vi lascio in pace!
    grazie e buone feste a tutti!

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Mettere mano a quel codice è semplicemente una follia.
    Se ci dici l'errore ESATTO che riscontri si può provare ad inventare qualcosa.

    Roby

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    493
    grazie ho risolto, con un po' di pazienza
    codice:
    <%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
    
    <%
    ' *** Edit Operations: declare variables
    dim chiave
    
    chiave=request.querystring("id")
    
    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
    
      MM_editConnection = MM_celebr_STRING
      MM_editTable = "file"
      MM_editColumn = "ID"
      MM_recordId = "" + Request.Form("MM_recordId") + ""
      MM_editRedirectUrl = "../pc.asp"
      MM_fieldsStr  = "Giorno|value|NomeFile|value|Omelia|value|Scelta|value"
      MM_columnsStr = "Giorno|',none,''|NomeFile|',none,''|Omelia|',none,''|Scelta|',none,''"
    
      ' 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 Recordset1
    Dim Recordset1_numRows
    
    Set Recordset1 = Server.CreateObject("ADODB.Recordset")
    Recordset1.ActiveConnection = MM_celebr_STRING
    Recordset1.Source = "SELECT * FROM file WHERE ID=" & cint(chiave)
    Recordset1.CursorType = 0
    Recordset1.CursorLocation = 2
    Recordset1.LockType = 1
    Recordset1.Open()
    
    Recordset1_numRows = 0
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento senza titolo</title>
    </head>
    
    <body>
    <form method="post" action="<%=MM_editAction%>" name="form1">
      <table align="center">
        <tr valign="baseline">
          <td nowrap align="right">Giorno:</td>
          <td><input type="text" name="Giorno" value="<%=(Recordset1.Fields.Item("Giorno").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">NomeFile:</td>
          <td><input type="text" name="NomeFile" value="<%=(Recordset1.Fields.Item("NomeFile").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Omelia:</td>
          <td><textarea name="Omelia" cols="80" rows="20"><%=(Recordset1.Fields.Item("Omelia").Value)%></textarea>
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right">Scelta:</td>
          <td><input type="text" name="Scelta" value="<%=(Recordset1.Fields.Item("Scelta").Value)%>" size="32">
          </td>
        </tr>
        <tr valign="baseline">
          <td nowrap align="right"></td>
          <td><input type="submit" value="Aggiorna record">
          </td>
        </tr>
      </table>
      <input type="hidden" name="MM_update" value="form1">
      <input type="hidden" name="MM_recordId" value="<%= Recordset1.Fields.Item("ID").Value %>">
    </form>
    
    
    </p>
    
    
    </p>
    </body>
    </html>
    <%
    Recordset1.Close()
    Set Recordset1 = Nothing
    %>

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 © 2026 vBulletin Solutions, Inc. All rights reserved.