Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232

    [JAVA-SQL] Ottenere il risultato di un "COUNT"

    Salve, una semplice domanda...se ho una query del tipo

    SELECT count(*) FROM nome_tabella WHERE...

    Come faccio, in java, a recuperare il "count"???

    So che ci sono strade alternative per ottenere il numero di righe della query (tipo posizionare il cursore sull'ultimo risultato e fare un getRow())...ma io vorrei sapere se è possibile recuperarlo con un getQualcosa...grazie

  2. #2
    o dai un alias al count e lo chiami per nome, oppure lo richiami per numero (0)
    xxx

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    sinceramente avevo già provato con un alias..facendo così...

    int tmp=null;

    SELECT count(*) alias tmp FROM nome_tabella WHERE...

    e recuperare il valore con resultSet.getInt("tmp");

    ma non andava...

  4. #4
    codice:
    SELECT count(*) as tmp FROM nome_tabella WHERE...
    ah altra cosa...occhio che non puoi assegnare "null" ad una variabile intera...

    codice:
    int tmp = 0;
    ...
    ...SELECT count(*) as tmp FROM nome_tabella WHERE...
    ...
    tmp = rs.getInt("tmp")
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  5. #5
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Aggiungo... il primo campo di un Recordset ha indice 1 e non 0.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    allora..sul assegnamento all'int ho sbagliato...è stata una distrazione...però decidetevi, Alethesnake dice di fare un getInt(0)...LeleFT dice che l'indice comincia con 1 (anche a me sembrava strano lo 0)...credo di aver già provato il metodo di Shagrat ma se non sbaglio non fungeva...riproverò e farò sapere

  7. #7
    Originariamente inviato da LeleFT
    Aggiungo... il primo campo di un Recordset ha indice 1 e non 0.


    Ciao.
    ops, non lo ricordavo, uso più asp e aspnet di java e li il primo ha indice zero

    xxx

  8. #8
    Originariamente inviato da fraper
    allora..sul assegnamento all'int ho sbagliato...è stata una distrazione...però decidetevi, Alethesnake dice di fare un getInt(0)...LeleFT dice che l'indice comincia con 1 (anche a me sembrava strano lo 0)...credo di aver già provato il metodo di Shagrat ma se non sbaglio non fungeva...riproverò e farò sapere
    con l'alias non dovresti aver problemi. l'unico dubbio è su come crearlo a seconda del database:
    codice:
    SELECT COUNT(*) AS numeroRecord FROM tabella --in access, sqlserver e mi pare mysql
    
    SELECT COUNT(*) numeroRecord FROM tabella --con oracle
    comunque usando l'indice non vedo che problema ci sia, basta provarlo al limite. cmq come dicevo sopra mi sono confuso, comincia da 1

    xxx

  9. #9
    Che io sappia gli alias si possono dichiarare sia con che senza l'"as" davanti (dovrebbe essere SQL stansdard) salvo access che mi pare lo richieda

    Comunque il "mio" metodo non l'avevi provato...il tuo errore sta nella struttura della query

    codice:
    SELECT count(*) alias   tmp FROM nome_tabella WHERE...
    non mi risulta esista questa sintassi...

    in qualsiasi caso la soluzione dell'alias o di utilizzare l'indice della colonna sono equivalenti (confermo che in Java l'indice della prima colonna è 1)
    Purtroppo bisogna imparare che il computer non sbaglia...fa solo quello che gli dici di fare

    www.netpolaris.it

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    232
    dunque la sintassi corretta qual'è?

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.