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

Discussione: UPDATE data con null

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708

    UPDATE data con null

    Ciao

    non riesco, in una pagina di UPDATE con db access, a far inserire null ad una data se si decide di non inserirla.

    Il tutto mi sembra abbastanza strano xchè leggendo i vari post ho visto che null viene accettato "serenamente"!

    Cmq il codice che utilizzo è questo:

    codice:
    giorno=request.form("GIORNO")
    mese=request.form("MESE")
    anno=request.form("ANNO")
    
    data=giorno&"/"&mese&"/"&anno
    
    SQL ="UPDATE TabCalendario SET nome='"&NOME&"',"
    
    if giorno="" OR mese="" OR anno="" then
     sql = sql&"data=null ,"
    else
     sql = sql&"data=#"&data&"#,"
    End if
    
    sql=sql&"ora=#"&ORA&"# where ID="&id_v&""
    In precendenza dicevo che mi sembra strano che non funzioni xchè riesco ad inserire il null in una pagina INSERT INTO con +o- lo stesso controllo:

    codice:
    if giorno="" OR mese="" OR anno="" then
     sql = sql&"null ,"
    else
     sql = sql&"#"&data&"#,"
    End if
    potete spiegarmi?

  2. #2
    spiega tu cosa intendi con "non riesco"

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    se il controllo che ho prodotto è corretto, NON inserendo la data, l'errore che ottengo è questo:

    codice:
    Microsoft VBScript runtime error '800a005e'
    
    Invalid use of Null: 'split'
    Se invece la inserisco funziona.

    Non inserendo la data e mettendo:

    codice:
    response.write sql
    response.flush
    quello che vedo è questo:

    codice:
    data=null

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    E lo split da dove salta fuori?

    Si presume che i campi nel db siano di tipo data/ora , quando li leggi devi gestire i null

    if isnull(rs("campodata")) then ...

    ed usare le funzioni di trattamento delle date

    year(), month(), eccetera

    per trattare i campi NOT NULL
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    scusa così:

    codice:
    if isnull(rs("data")) then
    						
    giorno = split(rs("data"),"/")(0)
    mese = split(rs("data"),"/")(1)
    anno = split(rs("data"), "/")(2)
    						
    else 
    
    data = rs("data")'Dichiaro la variabile data
    
    giorno = split(rs("data"),"/")(0)
    mese = split(rs("data"),"/")(1)
    anno = split(rs("data"), "/")(2)
    
    ....
    
    end if

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    ???

    Intanto il tipo di dati "data" non si presta ad essere sottoposto a split()... usa le funzioni tipiche per trattare le date.

    Inoltre se il contenuto e' NULL ancor meno puoi trattarlo in qualche modo... semplicemente assegna un valore simbolico alle variabili d'arrivo (che so, spazi )

    ps: mi sembra anche che stai mischiando sintassi vbscript e jscript... ma sono stanchino stasera
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    piero, se è NULL che vuoi splittare?

    il campo come è settato nel db? data? o testo?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    eccomi!

    Allora il campo è di tipo "Data/ora" Formato "Data in cifre".

    Optime ti faccio 2 domande e non sono ironiche:

    non so se si è capito ma, x inserire la data, ho inserito nel form il classico:

    1 select x il giorno
    1 select x il mese
    1 textbox x l'anno

    se uno...diciamo uno precisino, immagino anche rompi palle, gli viene in mente di impostare la data così:

    1 giorno lascia vuoto xchè non sa il giorno o non si ricorda il giorno da mettere
    2 inserisce correttamente il mese
    3 inserisce correttamente l'anno

    qui lo split serve?
    La data come si comporta col null del "giorno" ?

    Vi posto il codice della mia data magari si capisce meglio:

    codice:
    data = rs("data")'Dichiaro la variabile data
    
    giorno = split(rs("data"),"/")(0)
    mese = split(rs("data"),"/")(1)
    anno = split(rs("data"), "/")(2)
    
    <div id="preventivo_avvisi">Formato: gg/mm/anno</div>
    <select name="GIORNO" class="select">
    <option value="<%=giorno%>"><%=giorno%></option>
    <option></option>
    <option value="01">01</option>
    <option value="02">02</option>
    
    ... (continua la numerazione)
    
    <option value="30">30</option>
    <option value="31">31</option>
    </select>
      
    <select name="MESE" class="select">
    <option value="<%=mese%>"><%=mese%></option>
    <option></option>
    <option value="01">01</option>
    <option value="02">02</option>
    
    ... (continua la numerazione)
    
    <option value="11">11</option>
    <option value="12">12</option>
    </select>
      
    <input name="ANNO" type="text" size="4" maxlength="4" class="textbox_anno" value="<%=anno%>" />

  9. #9
    anno=year(data)
    mese=month(data)
    giorno=day(data)

    lassa perde lo split

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    708
    ho fatto così e funziona:

    codice:
    data = rs("data") 'Dichiaro la variabile data
    
    giorno=day(data)
    mese=month(data)
    anno=year(data)
    
    'CAMPO DATA
    giorno=request.form("GIORNO")
    mese=request.form("MESE")			   
    anno=request.form("ANNO")
    
    'Da utilizzarsi se la lingua del server è in inglese                                                  
    data=anno&"/"&mese&"/"&giorno
    nell'sql metto:

    codice:
     
    'controllo data
    if giorno="" OR mese="" OR anno="" then
     sql = sql&"data=null,"
    else
     sql = sql&"data=#"&data&"#,"
    End if
    Intedevate questo??

    Mi date ancora un aiuto x l'ora?

    E' di Tipo "Data/Ora" Formato "Ora breve 24h"

    Ho provato così:

    codice:
    <% ora=(formatDateTime(rs("ORA"), vbShortTime)) %>
    
    <input type="text" name="ORA" class="textbox" value="<%=ora%>" />
    
    ora=(request.form(FormatDateTime("ORA"),vbShortTime))' Data - Ora breve 24h - Textbox
    
    'controllo ora
    if ora="" then
     sql = sql&"ora=null,"
    else
     sql = sql&"ora=#"&ora&"#,"
    End if
    ...scusate ma sono un pò cotto!

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.