Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637

    Doppio Inserimeto records con file Include

    Mi trovo a fronteggiare questo strano caso (cerco di semplificare il codice in questo esempio)
    In un file chiamato pagina1.asp ho questa porzione di codice:

    In testa, includo il seguente file

    codice:
    
    
    poi ho questo codice, sempre nella stessa pagina:
    codice:
    SELECT CASE cmp_pagina
    Case ""
    cancella_records%>
    
    <%Case "1"%>
    
    <%Case "2"
    valida_residenza%>
    
    <%Case "3"
    fnc_inserisci(crea_idRandom)%>
    
    <%END SELECT%>
    Quando arrivo alla 3 opzione, richiamo le seguenti routine dal file incluso in alto include.asp, che sono:
    codice:
    FUNCTION crea_idRandom
    Randomize()
    Dim strBase
    Dim i
    Dim strId
    Dim intNumeroRnd
    strBase = "abcdefghijklmnopqrstuvwxyz1234567890_"
    For i = 1 To 16
    	intNumeroRnd = 1 + int(RND * 35)
    	strId = strId & Mid(strBase,intNumeroRnd,1)
    Next
    crea_idRandom = strId
    END FUNCTION
    codice:
    Sub fnc_inserisci(codice)
    sql = "INSERT INTO utente_temp SET "&_
    	  "temp_id = '" & codice & "', "&_
    	  "temp_nick = '" & cmp_nick & "'"
    co.open  :sonno: 
    co.Execute sql
    co.close
    End Sub 'fnc_inserisci
    Il problema è che a volte mi scrive un solo record, come giusto che sia, ma il più delle volte me ne scrive 2, ovviamente con codice diverso, proprio come se la sub fnc_inserisci venisse, anzi a quanto pare viene chiamata due volte. Secondo voi è un problema di caricamento dell'include?
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  2. #2
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    eros,


    non è che chiami la funzione dentro un ciclo che ha i ?

    tipo

    for i = 1 to 2

    crea_idRandom()

    next

    perchè se è cosi' attento che la var i dentro la function potrebbe prendere il valore di i esterna e quindi concludere il ciclo prima


    (buttata giu' cosi )

  3. #3
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    mi era capitato anche a me una volta e ti dico già che dopo una cifra di tentativi non ne ero venuto a capo
    non è una soluzione ma per tentare di capire dovè il problema non puoi salvarti una variabile che se risulta true non runna(si dice cosi? ) di nuovo la sub?

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    no no. nessunissimo ciclo esterno. Conta che i file che includo sono puro html... poi questo succede anche se togliessi di mezzo la prima funzione. Quel trucchetto l'ho fatto proprio per vedere quanti records mi generava, visto che all'inizio avevo l'eccezione della duplicazione della chiave primaria.

    quello che non capisco è perchè a volte ne scrive uno e altre volte, 2!
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  5. #5
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Originariamente inviato da rixx
    mi era capitato anche a me una volta e ti dico già che dopo una cifra di tentativi non ne ero venuto a capo
    non è una soluzione ma per tentare di capire dovè il problema non puoi salvarti una variabile che se risulta true non runna(si dice cosi? ) di nuovo la sub?

    ho provato anche questo rixx... addirittura pensavo alla corruzione della tabella.. macchè, neppure.
    è come se una volta chiamata la sub, ripartisse dal case "3" e richiamasse la funzione una seconda volta.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    non sei riscito a registrare o cmq a dare un margine alle condizioni per cui si verifica il doppio inserimento?

  7. #7
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    cioè?
    non ti ho capito proprio
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  8. #8
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    hai detto che ogni tanto succede ogni tanto no...
    non sei riuscito a *isolare* alcune differenze per le quali in un caso viene inserito due volte mentre in un altro no?

  9. #9
    Utente bannato
    Registrato dal
    Nov 2002
    Messaggi
    661
    Funzione=crea_idRandom()
    fnc_inserisci(Funzione)


    prova cosi'


    non è che per caso ti scrive una delle due vuota nel db ?

  10. #10
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    quel codice era molto ma molto più complesso, quello è il massimo che ho potuto fare per isolare il problema, ma non l'ho individuato. Anche perchè mi sembra una procedura talmente semplice, così...

    .. no gold, quella funzione non è la responsabile, è assicurato.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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.