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

    [MySQL] Andare avanti anche se ID non esiste

    Ho una funzione che mi deve aggiornare tutte le righe presenti nella tabella ordini. In pratica devo associare ad ogni ID registrato nella tabella ordini, il relativo codice presente nella tabella articoli.
    Per fare questo ho fatto un semplicissimo script:
    codice:
    sqlo = "select * from ordini"
    set rso = conn.execute(sqlo)
    
    while not rso.eof
    
    if rso("id_articolo") <> "" then
    sqla = "select * from articoli where id = "&rso("id_articolo")
    set rsa = conn.execute(sqla)
    response.write rsa("codice")&"
    "
    
    sqlb = "update ordini set codice = "&rsa("codice")&" where id_articolo = "&rsa("id")
    set rsb = conn.execute(sqlb)
    end if
    rso.movenext
    wend
    %>
    Il problema è che se un ID.ordini non corrisponde ad un ID.articoli, lo script si blocca, io invece voglio che continui ad andare avanti e lasci il campo CODICE della tabella ordini vuoto se non c'è corrispondenza tra ID.articoli e ID.ordini.
    Come potrei fare?
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  2. #2
    se rsa("codice") ha lunghezza superiore a zero allora fai la sqlb

  3. #3
    No perché l'errore mi viene restituito nella riga di definizione di RSA. In pratica la SQLA viene sempre eseguita e viene sempre fatto il confronto tra id e id_articolo. Se questo confronto dovesse dare esito negativo, il while di rso dovrebbe continuare comunque.
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

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.