Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775

    [mysql] - "prendere" riga database



    Io utilizzo questo codice:
    codice:
    ResultSet results = dati.executeQuery("SELECT * FROM ditta WHERE Username ='"+ User +"'");
                
    String nameT = results.getString("NomeTit");
    name.setText("Nome:  "+nameT);
    In pratica ho una tabella di utenti registrati, quindi con: nomeutente, nome, cognome, indirizzo, pass ecc.
    Voglio far si che avendo una stringa di nome User, mi stampi il nome, cognome, indirizzo e pass corrispondenti.

    Nel codice sopra praticamente (per ora) prendo solamente il nome e lo salvo dentro la JLabel name.

    ---

    Sto gestendo un Login, ed ho bisogno di sapere quale utente ha fatto l'accesso.

    Quello che sta dietro al fatto di sapere l'User dell'utente loggato l'ho già fatto, e il nome utente dell'utente loggato di salva dentro alla stringa User.
    Ora vorrei far si che trovando questo User nella tabella ditta, mi stampi tutti i dati relativi a quella riga (ovvero relativi all'utente).

    Qualcuno sa darmi qualche dritta?
    ps: facendo il Debug su Netbeans, si blocca (non da errore) alla seconda riga.

    Grazie in anticipo!

  2. #2
    è un problema di linguaggio, non di database

  3. #3
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    Originariamente inviato da optime
    è un problema di linguaggio, non di database
    Ma si riferisce comunque al database..
    va anche questa spostata in Java quindi..

  4. #4
    Ma quel codice ti funziona oppure no? Comunque per estrarre anche le altre informazioni del ResultSet basta che utilizzi il metodo get...(String columnName), dove al posto dei puntini usi il tipo contenuto in quella colonna (nel tuo caso immagino siano tutte stringhe, quindi puoi usare getString), e come columnName il nome della colonna corrispondente all'interno del database (ad esempio results.getString("nome")).
    ***Ciao***

  5. #5
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    Le ultime due righe si, prima funzionavano quando utilizzavo una query diversa..

    Quindi penso più che altro che sia un problema di query, che non "prende" gli argomenti che mi servranno dopo (in questo caso il NomeTit)..

    Anche perche con il Debug mi arriva fino alla seconda riga e poi salta al catch in fondo al codice, quindi penso che riesca a prendere il NomeTit

  6. #6
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Originariamente inviato da Buzzz
    Ma si riferisce comunque al database..
    va anche questa spostata in Java quindi..
    L'unica cosa che si riferisce al database è quella banale query "SELECT * FROM ditta WHERE Username =...."

    Se questa la esegui (ad esempio con phpmyadmin o qualunque altro client per mysql, NON dall'interno del tuo programma) cosa ti restituisce ? se trovi tutti i campi non è più un problema di database ma (eventualmente) di come estrai i valori dei singoli campi del database e di come li vai ad inserire nelle variabili del tuo linguaggio di programmazione

    Cosa ottieni eseguendo la query su mysql ? ripeto, eseguendola con un client per mysql, NON con il tuo programma

  7. #7
    Utente di HTML.it L'avatar di Buzzz
    Registrato dal
    Jan 2009
    Messaggi
    775
    Siccome per il login utilizzavo questsintassi: Username='" + name + "'
    ho provato ad utilizzarla anche qui..

    Se io utilizzo questa sintassi su phpmyadmin:
    codice:
    SELECT * FROM ditta WHERE Username ='saetta93'
    mi da la rispettiva riga, con Nome, Cognome, User (saetta93), Indirizzo, Pass ecc.

    Però nel codice java non posso utilizzare saetta93, ma bensì User, cioè dov'è salvato il nomeutente dell'utente loggato..

    Allora ho provato a modificare il codice java così:
    codice:
    ResultSet results = dati.executeQuery("SELECT * FROM ditta WHERE Username ='User'");
    ma ancora niente, non va..

    Quando arriva qui:
    codice:
    String nameT = results.getString("NomeTit");
    il Debug "salta" direttamente al catch in fondo al codice..
    Ma non capisco l'errore, in fondo ho sempre utilizzato quel codice ed ha sempre funzionato

  8. #8
    No, la query era giusta prima, ora cerchi uno user avente username = 'User'. Perchè all'interno del catch non provi a stampare l'eccezione che viene sollevata e a dire con precisione qual è l'errore? (Basta che chiami il metodo printStackTrace() sull'eccezione catturata).
    ***Ciao***

  9. #9
    Ciao,

    ho notato che hai un po di problemi sulle query in java.

    Mi permetto di suggerirti un metodo molto interessante di impostare le query, scrivendo query di tipo "parametrizzato" in questo modo

    esempio :
    codice:
    PreparedStatement ps = connection.prepareStatement("SELECT tel FROM Anagrafica WHERE nome = ? and cognome = ?");
    
    //diamo il valore al primo parametro:
    ps.setString(1,mioNome);
    //diamo valore al secondo parametro
    ps.setString(2,mioCognome);
    
    ResultSet rs = ps.executeQuery();
    //da qui in poi gestisci il result set....
    In sostanza come vedi hai scritto where nome = ? and cognome = ?

    il punto interrogativo e' il parametro 1 al quale darai il valore con ps.setString(1,mioNome);
    Analogamente il secondo parametro...


    Io mi trovo molto bene a scrivere query cosi... magari puo far comodo anche a te... ciao
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    Utente di HTML.it L'avatar di comas17
    Registrato dal
    Apr 2002
    Messaggi
    6,522
    Originariamente inviato da Buzzz
    Se io utilizzo questa sintassi su phpmyadmin:
    codice:
    SELECT * FROM ditta WHERE Username ='saetta93'
    mi da la rispettiva riga, con Nome, Cognome, User (saetta93), Indirizzo, Pass ecc.
    Bene, quindi non è un problema di database...
    Evitiamo di continuare in questa sezione con cose che non la riguardano

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.