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

Discussione: if anomalo

  1. #1

    if anoamlo

    ciao ragazzi,

    sto impazzendo su un if..non capisco perchè non mi entra nella condidione....e mi esegue sempre else.
    In pratica devo controllare che tutti i campi siao valorizzati altrimenti aggiorno il db.
    Ora al cosa strana che anche quando nessun campo della form è valorizzato va sempre nella condizione else.....

    codice:
    	
    		datain = Request.Form("datain")
    		dataout = Request.Form("dataout")
    		descrizioneg = Request.Form("descrizioneg")
    		descrizioner= Request.Form("descrizioner")
    		sn = Request.Form("sn")
    		modello = Request.Form("modello")
    		ddtin = Request.Form("ddtin")
    		ddtout = Request.Form("ddtout")
    		operatore = Request.Form("operatore")
    		tempoin = Request.Form("tempoin")
    		tempofine = Request.Form("tempofine")
    		ricambi = Request.Form("ricambi")
    		 
    		if datain = "" OR dataout = "" or descrizioneg ="" or descrizioner = ""  or sn = "" or modello = "" or ddtin = "" or ddtout = "" or operatore = "" or tempoin = "" or tempofine = "" or ricambi = "" Then
    			Response.Redirect("/restricted_area/record_manager/editriparazioni.asp?&campi=no&id=" + id)
    		else
    			rConn.Execute("UPDATE riparazioni SET [datain] = '" + datain + "', [dataout] = '" + dataout + "', [descrizioneg] = '" + descrizioneg + "', [descrizioner] = '" + descrizioner+ "', [sn] = '" + sn + "', [modello] = '" + modello + "', [ddtin] = '" + ddtin + "', [ddtout] = '" + ddtout + "', [operatore] = '" + operatore + "', [tempoin] = '" + tempoin + "', [tempofine] = '" + tempofine + "', [ricambi] = '" + ricambi + "' WHERE id = " + id)
    			rConn.Close()
    			Response.Redirect("/riparazioni.asp?editrec=ok&id=" + id)
    
    		End If

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Usa la Len()

    codice:
    if len(datain) = 0 OR len(dataout) = 0 ....
    Roby

  3. #3
    grazie roby...
    non va uguale ..ho provato anche a invertire la condifione con <>...ma niente

  4. #4
    al posto di

    if datain = "" OR dataout = "" or descrizioneg ="" ......

    prova con:

    if IsNull(datain) OR IsNull(dataout).......


    meglio ancora:

    if IsNull(datain) OR datain="" OR IsNull(dataout) OR dataout = "" .....
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  5. #5
    ps: per controllo,

    modifica così la tua pagina:



    datain = Request.Form("datain")
    dataout = Request.Form("dataout")
    descrizioneg = Request.Form("descrizioneg")
    descrizioner= Request.Form("descrizioner")
    sn = Request.Form("sn")
    modello = Request.Form("modello")
    ddtin = Request.Form("ddtin")
    ddtout = Request.Form("ddtout")
    operatore = Request.Form("operatore")
    tempoin = Request.Form("tempoin")
    tempofine = Request.Form("tempofine")
    ricambi = Request.Form("ricambi")

    response.write "datain: " & datain & "
    "
    response.write "dataout: " & dataout & "
    "
    response.write "descrizioneg: " & descrizioneg & "
    "
    ....eccetera...
    ....eccetera...
    ....eccetera...
    response.write "ricambi: " & ricambi & "
    "
    response.end

    if datain = "" OR dataout = "" or descrizioneg ="" or descrizioner = "" or sn = "" or modello = "" or ddtin = "" or ddtout = "" or operatore = "" or tempoin = "" or tempofine = "" or ricambi = "" Then
    Response.Redirect("/restricted_area/record_manager/editriparazioni.asp?&campi=no&id=" + id)
    else
    rConn.Execute("UPDATE riparazioni SET [datain] = '" + datain + "', [dataout] = '" + dataout + "', [descrizioneg] = '" + descrizioneg + "', [descrizioner] = '" + descrizioner+ "', [sn] = '" + sn + "', [modello] = '" + modello + "', [ddtin] = '" + ddtin + "', [ddtout] = '" + ddtout + "', [operatore] = '" + operatore + "', [tempoin] = '" + tempoin + "', [tempofine] = '" + tempofine + "', [ricambi] = '" + ricambi + "' WHERE id = " + id)
    rConn.Close()
    Response.Redirect("/riparazioni.asp?editrec=ok&id=" + id)

    End If


    in questo modo ti stampa il contenuto dei vari request, e poi si ferma (response.end) senza eseguire l'if. Comincia a vedere se tutti i valori sono davvero vuoti. Se lo sono ripristina il codice originale, e prova con il consiglio del mio precedente post... se non funziona ancora fammi sapre
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  6. #6
    Così?

    codice:
    if len(datain) > 0 OR len(dataout) > 0 ....
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  7. #7
    va usata la pluripremiata - ma inspiegabilmente sottoutilizzata - funzione

    codice:
    If Trim(sStringa & "[]") = "[]" Then
    ' vuota
    Else
    ' contiene qualcosa
    End If
    ovviamente adeguata al caso

  8. #8
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    mettici una trim e una len
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  9. #9
    deve essere proprio pluripremiata questa fun...le avevo provate tutte....
    risolto con

    codice:
    Trim(stringa & "[]") = "[]"


    Optime spisgami il perchè ??? :master:
    visto che l'avevo utilizzato un sacco di volte nella maniera classica

  10. #10
    forse è una pagina maledetta..visto che continuano a succedere cose strane...valori non recuperabili coj querystring...e altro.......

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.