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

    [JAVA - SQL] Creazione rubrica.

    Buon giorno a tutti,

    sono nuovo nell'ambito della programmazione, chiedo quindi scusa a tutti in anticipo per qualunque domanda stupida.

    Sto creando un programma in java che in una prima fase si configura come una rubrica.
    I contatti vengono inseriti e letti da un db PostgreSql.

    Nella maschera principale ho inserito, accanto ai JTextBox, una lista JList che viene riempita da un listmodel che a sua volta viene riempito con tutti in contatti ogni volta che una qualche parte di un contatto cambia.

    La domanda e' questa:
    mi trovo a dovermi spostare all'interno della JList con le frecce: come faccio per far aggiornare le informazioni relative al contatto? Devo per forza agire sulla lista ed effettuare una query ogni volta oppure esiste un modo per scorrere i record puntati sul database con una specie di cursore che resti all'ultimo record consultato?

    In questo particolare caso lavorare sul record selezionato sulla JList non sarebbe un grosso problema, ma per le parti successive del programma potrebbe diventarlo.

    Spero di aver esposto il problema in maniera comprensibile.

    Qualora cosi' non fosse cerchero' di rielabolare/approfondire.

    Grazie a tutti in anticipo.

    Giacomo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    ciao, non ho ben capito il problema mi puoi spiegare questo passaggio:

    come faccio per far aggiornare le informazioni relative al contatto?

  3. #3
    Ciao e grazie per la risposta

    Cerchero' di rendere la cosa piu' comprensibile mediante un esempio pratico:

    Mediante la chiamata ad una classe riesco ad inserire nel db PROVA, tabella: contatti i seguenti record:
    Nome Cognome Indirizzo Cellulare
    Arista Antonelli Via ima 44 111222333
    Barbabietola Berto Via panda 32 222333444
    Cetriolo Cervetto Via strascia 12 333444555

    (ogni riferimento e' puramente casuale).

    Ogni volta che viene aperto il JFrame Rubrica oppure viene premuto un tasto al suo interno che modifichi in quale modo i record, viene chiamata una query che riporta tutti i nomi e cognomi presenti nella tabella e li inserisce in una "DefaultListModel" che a sua volta diventa oggetto di una JList "contacts".

    Quindi, nella JList avremo un elenco di nomi e cognomi ed accanto le altre voci in alcuni JTextBox.... ad es: indirizzo, cellulare etc....

    Scorrendo e/o selezionando un nome diverso da quello correntemente evidenziato si devono aggiornare queste informazioni. In generale, se si click un nome NON subito prima o subito dopo quello corrente, deve partire una query al db del tipo "
    codice:
    SELECT nome.db cognome.db From .... WHERE nome = .... cognome= .....
    Nel caso invece si selezionasse un contatto subito prima o subito dopo, mi chiedevo se fosse possibile semplicemente dire a Postgresql: prima hai selezionato quel record.... dammi quello dopo!

    Una sorta di cursore che resti sull'ultimo record selezionato e possa essere spostato su first e next. L'unica opzione simile che ho trovato era un metodo di Resultset.... ma cosi' non riesco ad utilizzarlo in quanto il resultset precedente contiene solo il record precedentemente richiamato (vedi citazione codice sopra).

    Spero di essere stato chiaro e chiedo scusa se cosi' non fosse.

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    268
    ciao, secondo me dovresti indicizzare i record, ossia dovresti costruire l'elenco in questo modo:

    1|Antonelli|Maria|Via delle Vie|10|111111111
    2|Rossi |Mario|piazza |12|333333333

    in modo che quando hai il recordset puoi sapere qual'è il nominativo precendente e seguente a quello selezionato.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Il cursore del db lo puoi posizionare tu sulla riga che vuoi.

    Attento a riempire una JList con tutti i dati contenuti nel db (se i dati sono molti devi usare parecchia memoria, ed inoltre è molto più rapido cercare i dati nel db che nella JList).
    Immagina cercarsi "a mano" all'interno della lista un particolare nome e cognome, o telefono...


    Non sarebbe più comoda la JTable?

    Non mi è però affatto chiaro che programma vuoi creare.

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.