Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Un errore mai visto

  1. #1

    Un errore mai visto

    Ciao a tutti,
    è qualche giorno che sto cercando di risolvere un problema con un semplice script di inserimento in database sql server 2005 express

    In pratica che faccio
    prendo pendo dei dati da un semplice form da una pagina precedente

    poi verifico che questo tipo di inserimento non sia stato già fatto da un utente con quella partita iva o codice fiscale

    a questo punto se la select non mi restituisce nulla
    entro e creo l' inserimento

    dovè il problema, molte volte la pagina mi restituisce la scritta inserimento effettuato correttamente..altre volte invece mi dice che l'inserimento non è stato effettuato perchè già esiste quel record (in pratica i response.write che ho messo io)
    Per verifica mi faccio restituire qual'è il record che già esiste...e qui c'è la cosa strana..il risultato è un record nuovo che prima non esisteva.
    In pratica è come se lui arriva nella pagina fa la verifica, entra e poi senza che nessuno gli dica nulla,da solo ricarica la pagina quindi trova che il record già esiste e mi restituisce record presente con il numero appena inserito


    Sotto vi posto il codice, onestamente di insert ne ho fatti a migliaia...e davvero questa cosa non mi è mai capitata.

    <%

    clidenti = 1

    nome=TRIM(REQUEST("nome"))
    cognome=TRIM(REQUEST("cognome"))
    ragsoc=TRIM(REQUEST("ragsoc"))
    ResidenzaPr=TRIM(REQUEST("ResidenzaPr"))
    ResidenzaComune=TRIM(REQUEST("ResidenzaComune"))
    ResidenzaCap=TRIM(REQUEST("ResidenzaCap"))
    CodiceFiscale=ucase(TRIM(REQUEST("codfisc")))
    piva=TRIM(REQUEST("piva"))
    indirizzo=TRIM(REQUEST("indirizzo"))

    if CodiceFiscale<>"" then
    where=" ctcodfisc='"& CodiceFiscale &"'"
    end if

    if piva<>"" then
    where=" ctpiva='"& piva &"'"
    end if

    sql="select ctidenti,clidenti from catasto where ("& where &") AND (ctstato <> 'F' or ctstato is null) "

    set rsCtrlCatasto=server.CreateObject("adodb.recordset ")
    rsCtrlCatasto.open sql,conn


    if not rsCtrlCatasto.eof and not rsCtrlCatasto.bof then
    clidentiRich=trim(rsCtrlCatasto("clidenti"))
    idrichiesta=trim(rsCtrlCatasto("ctidenti"))

    %>
    <center>
    <span class="messKo">

    ATTENZIONE ESISTE GIA' UNA RICHIESTA IN CORSO PER QUESTO UTENTE


    <%if clng(clidentiRich) = clng(clidenti) then%>
    RICHIESTA N° <%=idrichiesta%>
    <%end if%>
    </span>
    </center>

    <%

    else
    set rs=server.Createobject("ADODB.Recordset")
    rs.activeconnection=conn
    rs.cursortype=3
    rs.locktype=3
    rs.source="catasto"
    rs.open
    rs.addnew


    rs("ctnome")=nome
    rs("ctcognom")=replace(cognome,"'","´")
    rs("ctragsoc")=replace(cognome,"'","´")
    rs("ctdatari")=now()
    rs("ctcomune")=replace(ResidenzaComune,"'","´")
    rs("ctcap")=ResidenzaCap
    rs("ctprovin")=ResidenzaPr
    rs("ctcodfisc")=CodiceFiscale
    rs("ctpiva")=piva
    rs("ctindiri")=replace(indirizzo,"'","´")
    'if clidenti <> "" then
    rs("clidenti")=clidenti
    rs("ctcosto")=costo
    'end if
    rs.update

    rs.close
    set rs = nothing



    set rs=conn.execute("select ctidenti from catasto order by ctidenti desc")
    idRichiesta=rs("ctidenti")
    set rs=nothing


    set RsCredito=server.CreateObject("adodb.recordset")
    conn.execute("update Clienti set climppre= climppre-"&costo&" where clidenti="& clidenti )
    set RsCredito=nothing



    %>

    <center>
    <span class="messOk">

    <font color="#006600"> INSERIMENTO EFFETTUATO CORRETTAMENTE </font>
    </span>
    </center>

    <%
    end if


    rsCtrlCatasto.close
    set rsCtrlCatasto=nothing
    %>

  2. #2
    standing ovation per il titolo del thread. urge (ri)lettura attenta e consapevole del regolamento.

  3. #3
    Originariamente inviato da optime
    standing ovation per il titolo del thread. urge (ri)lettura attenta e consapevole del regolamento.
    ho provato a cambiarlo ma non me l'ha fatto fare...ma onestamente penso che sia il titolo giusto al massimo avrei potuto scrivere "Un errore mai visto con ado"

  4. #4
    ho provato a lanciare l'applicazione sul db importato in access...e stranamente non mi da problemi...qualcuno ha riscontrato qualche problema simile?

  5. #5
    riscriviti da capo la pagina, magari evitando di mettere quelle parti in html, i n maniera da avere una visione piu chiara del codice....

    e cmq non hai un errore, hai un comportamento anomalo del programma sicuramente dovuto ad un errore di programmazione

    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.