Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: modifica dati database

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488

    modifica dati database

    Ciao a tutti, vorrei modificare i dati inseriti in un database ma ho difficoltà con il modulo di conferma modifica.
    Ricevo il seguente errore :


    Microsoft VBScript runtime error '800a01a8'
    Object required: ''
    /riservato/conferma_modifica_scheda_personale_cliente.asp, line 31

    ed alla line 31 ho :

    rs.Open "Clienti",OBJdbConnection,3,3

    Qualcuno mi saprebbe dire che significa e come devo fare per risolverlo?

    Ringrazio anticipatamente chiunque decida di darmi una mano.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488

    modifica dati database

    La disperazione continua! spero che qualche anima pia mi possa aiutare!
    Sto cercando di realizzare una pagina di modifica dati.
    1) Innanzitutto parto da un elenco clienti estratto da un database;
    2) seleziono in base all'id i dati personali di un determinato cliente e ci inserisco un pulsante modifica dati anch'esso filtrato in base all'id;
    3) apro la pagina di modifica dati che è composta da un form (i cui campi sono quelli precedentemente inseriti e che voglio modificare) e da un pulsante che in base all'id mi manda alla pagina che dovrebbe aggiornare i dati ma che in realtà mi da errore!
    Il codice di quest'ultima pagina è il seguente :

    <%
    id = trim(request.querystring("id"))
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\.....mdb")
    Set objRs = objConn.Execute("SELECT * FROM Clienti WHERE IDCliente="& id)
    Set objRs = Server.CreateObject("ADODB.Recordset")
    rs.Open "Clienti",OBJdbConnection,3,3
    objRs("Cognome e Nome")=request.form("Cognome e Nome")
    objRs("Data di nascita")=request.form("Data di nascita")
    objRs("Data Onomastico")=request.form("Data Onomastico")
    objRs("Indirizzo")=request.form("Indirizzo")
    objRs("CAP")=request.form("CAP")
    objRs("Città")=request.form("Città")
    objRs("Tel Abit")=request.form("Tel Abit")
    objRs("Tel Cell")=request.form("Tel Cell")
    objRs("E-Mail")=request.form("E-Mail")
    objRs.update
    rs.Close
    objRs.Close
    Set objRs = Nothing
    OBJdbConnection.Close
    Set objConn = Nothing
    %>

    La riga cui fa riferimento l'errore, attualmente è quella evidenziata, ma non riesco a capire come sistemarla.

  3. #3

    Re: modifica dati database

    Originariamente inviato da Prof_Mauri
    La disperazione continua! spero che qualche anima pia mi possa aiutare!
    Sto cercando di realizzare una pagina di modifica dati.
    1) Innanzitutto parto da un elenco clienti estratto da un database;
    2) seleziono in base all'id i dati personali di un determinato cliente e ci inserisco un pulsante modifica dati anch'esso filtrato in base all'id;
    3) apro la pagina di modifica dati che è composta da un form (i cui campi sono quelli precedentemente inseriti e che voglio modificare) e da un pulsante che in base all'id mi manda alla pagina che dovrebbe aggiornare i dati ma che in realtà mi da errore!
    Il codice di quest'ultima pagina è il seguente :

    <%
    id = trim(request.querystring("id"))
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\.....mdb")
    Set objRs = objConn.Execute("SELECT * FROM Clienti WHERE IDCliente="& id)
    Set objRs = Server.CreateObject("ADODB.Recordset")
    rs.Open "Clienti",OBJdbConnection,3,3
    objRs("Cognome e Nome")=request.form("Cognome e Nome")
    objRs("Data di nascita")=request.form("Data di nascita")
    objRs("Data Onomastico")=request.form("Data Onomastico")
    objRs("Indirizzo")=request.form("Indirizzo")
    objRs("CAP")=request.form("CAP")
    objRs("Città")=request.form("Città")
    objRs("Tel Abit")=request.form("Tel Abit")
    objRs("Tel Cell")=request.form("Tel Cell")
    objRs("E-Mail")=request.form("E-Mail")
    objRs.update
    rs.Close
    objRs.Close
    Set objRs = Nothing
    OBJdbConnection.Close
    Set objConn = Nothing
    %>

    La riga cui fa riferimento l'errore, attualmente è quella evidenziata, ma non riesco a capire come sistemarla.
    Una volta che hai letto i dati dal database e li hai inseriti in un modulo, li devi inviare tramite update al database, quindi nella pagina che deve procedere ad aggiornare i dati (che invia, cioè, i dati al database) devi procedere in questo modo:
    1) Apri la connessione
    2) Recuperi l'ID passato in querystring
    3) Recuperi tutti i dati del modulo passati con POST
    4) modifichi i dati con un UPDATE:
    5) chiudi la connessione

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Scusa ma non essendo un vero programmatore non riesco a capire molte differenze a livello terminologico, per cui non potresti farmi vedere come va sistemato il codice postato?
    Please!

  5. #5
    Posta il codice della pagina con il modulo che legge i dati dal database

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    Ok grazie, accolo quì :

    <form>
    <%
    id = trim(request.querystring("id"))
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\....mdb")
    Set objRs = Server.CreateObject("ADODB.Recordset")
    set objRs = objConn.Execute("SELECT * FROM Clienti WHERE IDCliente="&id )
    Do while NOT objRs.EOF
    %>
    <form method="POST" action="conferma_modifica_scheda_personale_cliente .asp?id=<%=objRs("IDCliente")%>">
    <table>
    <tr>
    <td align="left"><font size="4">Cognome e Nome</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Cognome e Nome" value="<%=objRs("Cognome e Nome")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Data di nascita</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Data di nascita" value="<%=objRs("Data di nascita")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Data Onomastico</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Data Onomastico" value="<%=objRs("Data Onomastico")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Indirizzo</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Indirizzo" value="<%=objRs("Indirizzo")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">CAP</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="CAP" value="<%=objRs("CAP")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Città</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Città" value="<%=objRs("Città")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Tel Abit</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Tel Abit" value="<%=objRs("Tel Abit")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">Tel Cell</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="Tel Cell" value="<%=objRs("Tel Cell")%>">
    </td>
    </tr>
    <tr>
    <td align="left"><font size="4">E-Mail</font>
    </td>
    <td align="left" bgcolor="#FFFFFF"><font size="3">
    <INPUT TYPE="text" NAME="E-Mail" value="<%=objRs("E-Mail")%>">
    </td>
    </tr>
    <tr>
    <td>
    <input type="submit" value="Modifica" name="x">
    </td>
    </tr>
    <%objRs.Movenext
    Loop
    objRs.Close
    Set objRs = Nothing
    objConn.Close
    Set objConn = Nothing
    %>
    </table>
    </form>

  7. #7
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma la pagina conferma_modifica_scheda_personale_cliente.asp e la pagina form (modulo modifica dati) sono la stessa cosa?
    Nel caso di risposta negativa posta la pagina conferma_modifica_scheda_personale_cliente.asp
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    488
    No, perchè la pagina form preleva i dati già inseriti precedentemente nel db e li mostra in modo da poterli modificare, mentre la pagina conferma_modifica...... dorebbe solo aggiornare i dati come si evince dal ObiRs.update, solo che c'è qualcosa che non va e non riesco a capire cos'è
    Spero proprio che michele.santoro, o qualche altra anima pia, possa sciogliere questo nodo.

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Scusa ma non essendo un vero programmatore non riesco a capire molte differenze a livello terminologico,
    Se uno le cose non le sa non si inventa programmatore, visto anche il tuo nike (deduco tu sia professore).
    Premesso questo adiamo a risolvere il problema, o usi ADO e apri il recordset oppure usi l'execute e inietti dati direttamente nella tabella non entrambi, pertanto hai due possibilità:
    Apertura recordset
    codice:
    Set OBJdbConnection = Server.CreateObject("ADODB.Connection")
    OBJdbConnection.Open("Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\inetpub\webs\.....mdb")
    Sql = ("SELECT * FROM Clienti WHERE IDCliente="& id)
    Set objRs = Server.CreateObject("ADODB.Recordset")
    rs.Open Sql,OBJdbConnection,1,3
    objRs("Cognome e Nome")=request.form("Cognome e Nome")
    objRs("Data di nascita")=request.form("Data di nascita")
    objRs("Data Onomastico")=request.form("Data Onomastico")
    objRs("Indirizzo")=request.form("Indirizzo")
    objRs("CAP")=request.form("CAP")
    objRs("Città")=request.form("Città")
    objRs("Tel Abit")=request.form("Tel Abit")
    objRs("Tel Cell")=request.form("Tel Cell")
    objRs("E-Mail")=request.form("E-Mail")
    objRs.update
    rs.Close
    objRs.Close
    le modifiche sono in grassetto
    oppure execute
    Codice PHP:
    Nominativo request.form("Cognome e Nome")
    DataNascita request.form("Data di nascita")
    etc..... con le variabili
    SQL 
    "UPDATE  Clienti SET Cognome e nome = '"&Nominativo&"', Data di nascita = '"&DataNascita&"', etc... con l'upadate  WHERE IDCliente="id
    OBJdbConnection
    .Execute(SQL
    L' execute è + performante come aggiornamento, questo a grandi linee lascio a te le varie smussature.



    P.S. Nutro qualche dubbio sugli spazzi dei campi nelle tabelle (tipo Tel Cell) meglio non metterli consiglio Tel_Cell
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    devi comunque prendere una decisione: o usi ObjRs, o usi rs

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.