Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Problema con select max...

    Ciao a tutti... mi sfugge qualcosa in questa query... visto che programmo...praticamente per hobby di sicuro mi sfugge qualcosa... help!

    serie = request.QueryString("seriedocumento")
    sqlnumerodocumento = "SELECT MAX(Numero) FROM "& nometabelladocumentofiscale &" "

    response.write sqlnumerodocumento

    set rsnumerodocumento = conn.execute(sqlnumerodocumento)
    if not rsnumerodocumento.eof then
    nuovonumerodocumento = rsnumerodocumento(Numero) + 1
    else
    nuovonumerodocumento = 1
    end if

    rsnumerodocumento.close
    set rsnumerodocumento = nothing


    Ottengo un errore

    ADODB.Recordset error '800a0cc1'

    Item cannot be found in the collection corresponding to the requested name or ordinal.

    /gest/invia_ordine.asp, line 160


    La riga 160 è nuovonumerodocumento = rsnumerodocumento(Numero) + 1

    Ho controllato la stringa SQL ed è corretta, il campo nel database esiste...perchè non esegue la query?

  2. #2
    2 soluzioni

    sqlnumerodocumento = "SELECT MAX(Numero) FROM "& nometabelladocumentofiscale &" "
    ...
    nuovonumerodocumento = rsnumerodocumento(0) + 1


    oppure

    sqlnumerodocumento = "SELECT MAX(Numero) AS MioMax FROM "& nometabelladocumentofiscale &" "
    ...
    nuovonumerodocumento = rsnumerodocumento("mioMax") + 1

    a tia la scelta

  3. #3
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755

    Re: Problema con select max...

    Originariamente inviato da firestart
    ...
    La riga 160 è nuovonumerodocumento = rsnumerodocumento(Numero) + 1

    Ho controllato la stringa SQL ed è corretta, il campo nel database esiste...perchè non esegue la query?
    codice:
    sqlnumerodocumento = "SELECT MAX(Numero) AS maxNumero FROM "& nometabelladocumentofiscale &" "
    ...
    nuovonumerodocumento = rsnumerodocumento("maxNumero") + 1
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  4. #4
    grazie mille ragazzi... mi sa che dovro' comprare un bel libro tipo asp for dummies...

  5. #5
    ehm...come faccio a dirgli che se il recordset è vuoto nuovonumerodocumento deve essere uguale a 1 ? ho provato con .eof ma non va...

  6. #6

  7. #7
    no, va bene ma se il risultato della query è vuoto, perchè la tabella è vuota, nuovonumerodocumento rimane vuoto e la istruzione successiva di inserimento non funziona:


    sqlnumerodocumento = "SELECT MAX(Numero) AS MaxNumero FROM "& nometabelladocumentofiscale &" "

    set rsnumerodocumento = conn.execute(sqlnumerodocumento)

    nuovonumerodocumento = rsnumerodocumento("Maxnumero") + 1

    SQL = " INSERT INTO "& nometabelladocumentofiscale &" (Serie, Numero, UserID, Rivenditore, Data, Ora, IP, Pagamento, Varie) VALUES ("&serie&", "&nuovonumerodocumento&", '"&cliente&"', " & LivelloRivenditore & ", '"& DataToStr(Date) &"', '"& OraToStr(Time) &"', '"& Request.ServerVariables("REMOTE_ADDR") &"', '" & QSPagamento & "', '" & QSNote & "')"




    come faccio a dirgli che se rsnumerodocumento è uguale a nulla, nuovonumerodocumento = 1?

    pensavo che così potesse andare:

    if not rsnumerodocumento.eof then
    nuovonumerodocumento = rsnumerodocumento(MaxNumero) + 1
    else
    nuovonumerodocumento = 1
    end if


    ma nuovonumerodocumento rimane vuoto, non gli viene assegnato il valore 1

  8. #8
    la MAX riposrta sempre qualcosa, quindi rs non è mai vuoto

    puoi provare con

    if Trim(rsnumerodocumento(0) & "[]") = "[]" then
    nuovonumerodocumento = 1
    else
    nuovonumerodocumento = rsnumerodocumento(0) + 1
    end if

  9. #9
    le [] !!! ecco dove sbagliavo...


    grazie mille!

  10. #10
    Originariamente inviato da firestart
    le [] !!! ecco dove sbagliavo...
    non ho capito

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.