Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    modifica campo tipo data/ora

    ciao a tutti..come chiedevo prima in un altro thread ho un problemino con una pagina che modifica i dati in un db. soprattutto nel caso di un campo data/ora.

    il mio db ha 4 campi: ID, nome, cognome e data_nascita.

    la pagina modifica è cosi composta:

    la prima pagina raccoglie i dati dal db, li mette in una colonna e alla fine c'è un link MODIFICA che passa alla seconda pagina il valore dell'id..in modo da modificare solo i dati di quel record

    la seconda pagina mette i dati prelevati nella pagina precedente in delle text area cosi posso modificarle e passa i dati modificati alla terza pagina dove avviene il salvataggio dei dati nel db e, quindi la modifica.

    tutto funziona. il problema è che se io cancello i valori presenti nel campo data/ora mi da errore mentre, se li modifico, va tutto ok...
    xò a me servirebbe di dare la possibilità all'utente di rendere quel campo vuoto

    mi potete aiutare??

    secondo me il problema è dovuto agli apici che uso..come dovrei metterli nel caso il tipo della colonna è data/ora? su questo ho un grosso dubbio...

    vi posto il codice della seconda e terza pagina..


    MODIFICA2:
    <%
    dim intCodice
    intCodice = request("ID")
    if intCodice<>"" then
    %>

    <html>
    <head>
    <title> Modifica </title>
    </head>
    <body>

    <%
    dim strCode
    strCode="innovatel"
    dim intVolta
    intVolta="0"

    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("/prove/database.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn

    sql = "SELECT * FROM nomi WHERE ID = "&intCodice
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3
    %>

    <form method="post" action="modifica3.asp?ID=<%=rs("ID")%>">

    <table width="80%" border="1" align="center" bgcolor="#bee3ef">

    <tr><td>nome</td>
    <td><input type="text" name="nome" value="<%=rs("nome")%>" /></td></tr>
    <tr><td>cognome</td>
    <td><input type="text" NAME="cognome" value="<%=rs("cognome")%>" /></td></tr>
    <tr><td>data nascita</td> <td><input type="text" NAME="data" value="<%=rs("data_nascita")%>" /></td></tr>

    <tr><td height="45"><center><input type="submit" value="Modifica" /></center></td><td></td></tr>
    </table>
    </form>

    <%
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>

    </body>
    </html>

    <%
    else
    response.redirect "modifica1.asp"
    end if
    %>

    MODIFICA3:
    <%
    dim intCodice
    intCodice = request("ID")
    if intCodice<>"" then
    dim strCode
    strCode="innovatel"
    Set Conn=Server.CreateObject("ADODB.Connection")
    strConn="driver={Microsoft Access Driver (*.mdb)}; "
    strConn=strConn & " DBQ=" & Server.MapPath("/prove/database.mdb")
    strConn=strConn & ";pwd=" & strCode
    Conn.Open strConn
    sql = "SELECT * FROM nomi WHERE ID = "&intCodice
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, conn ,3,3

    rs("nome")=request.form("nome")
    rs("cognome")=request.form("cognome")
    rs("data_nascita")=request.form("data")
    rs.update
    rs.Close
    set rs = Nothing
    conn.Close
    set conn = Nothing
    %>
    <HTML>
    <HEAD>
    <TITLE> Aggiornamento Dati </TITLE>
    </HEAD>
    <BODY>
    <TABLE width="100%" height="100%" valign="middle">
    <TR>
    <TD><center>
    <table width="80%" border="1" align="center" bgcolor="#bee3ef">
    <TR>
    <TD height="67"><CENTER>Aggiornamento eseguito
    correttamente
    </CENTER></TD> </TR>
    <TR>
    <TD height="76"><CENTER><a href="modifica1.asp">Verifica Le
    Modifiche</a></CENTER></TD> </TR>
    </TABLE>
    </center></TD>
    </TR>
    </TABLE>
    </BODY>
    </HTML>
    <%
    else
    response.redirect "modifica1.asp"
    end if
    %>

  2. #2
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    che dice l'errore che ricevi?
    se dici che l'errore ce l'hai solo se il campo data è vuoto probabilmente è perché il campo della tabella non accetta valori vuoti, controlla il db

    vedi i dettagli tipo "richiesto si/no"

  3. #3
    allora: ho verificato quello che mi dicevi e nel database è impostato richiesto = no

    l'errore che mi da è questo:

    codice:
    An error occurred on the server when processing the URL. Please contact the system administrator.  
    If you are the system administrator please click here to find out more about this error.
    se io immetto un valore sotto forma di data..mi passa il valore. se imposto che il campo sia vuoto..mi da l'errore che ti ho messo sopra. io pensavo che il problema fosse il modo in cui richiamo il valore data..

  4. #4
    Originariamente inviato da ilarietta86
    allora: ho verificato quello che mi dicevi e nel database è impostato richiesto = no

    l'errore che mi da è questo:

    codice:
    An error occurred on the server when processing the URL. Please contact the system administrator.  
    If you are the system administrator please click here to find out more about this error.
    se io immetto un valore sotto forma di data..mi passa il valore. se imposto che il campo sia vuoto..mi da l'errore che ti ho messo sopra. io pensavo che il problema fosse il modo in cui richiamo il valore data..
    Ciao,

    Dovresti indicare anche la riga alla quale si verifica l'errore, altrimenti diventa difficile capire.
    Per vedere se il campo di access è impostato correttamente ti basta aprire il database e provare a modificare la data a mano cancellandola, se ti permette di salvare il campo è corretto.
    In generale io preferisco l'sql standard alla sintassi rs.update, quindi non so se nel tuo caso funziona ma prova a controllare se Request.Form("data") è vuoto, e in tal caso assegna null.


    xxx

  5. #5
    Si, sono d'accordo anche io, utilizza l'SQL per aggiornare il DB.
    Sei sicura, inoltre, che il campo data che aggiorni sia nel formato corretto?

  6. #6
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,806
    dovresti:
    1) postare il codice, sul forum, utilizzando sempre il tag CODE; grazie
    2) postare la query di aggiornamento che usi
    3) impostare la visualizzazione degli errori nel browser, così hai messaggi migliori sull'errore

  7. #7
    L'errore è dovuto al fatto che tenti di inserire una stringa vuota "" all'interno di un campo data, usa il Null:
    codice:
    ...
    
    sql = "SELECT * FROM nomi WHERE ID = "&intCodice
     Set rs = Server.CreateObject("ADODB.Recordset")
     rs.Open sql, conn ,3,3
     
    rs("nome")=request.form("nome")
     rs("cognome")=request.form("cognome")
    
     if(request.form("data")<>"")then
             rs("data_nascita")=request.form("data")
     else
             rs("data_nascita")=Null 
     end if 
    
     rs.update
     rs.Close
     set rs = Nothing
     conn.Close
    
    ...

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.