Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    25

    [JAVA] Vector estrapolazione stringhe

    Innanzitutto un saluto aL FORUM.
    Il mio problema è il seguente:
    Ho un Vector nel quale sono immagazzinate le informazioni di una query SQL (Una SELECT * FROM una tabella che ha solo 2 campi:id,nome e due righe); come faccio a estrapolare le informazioni nel loro formato?Il campo id è un int mentre il campo nome è un varchar quindi presuppongo una stringa. Ho provato un sacco di metodi elementAt(0).toString() mi restituisce una stringa con caratteri strani(credo in esadecimale) ma non c'è stato verso di risalire ai record nel formato che mi interessa (String per il campo nome e int per il campo id).Inoltre si può indicizzare un vector?Anche perchè il mio vector è di dimensione 2,quindi lui crea un elemento di vector per riga della tabella?
    Grazie dell'aiuto

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Posta un po' di codice. Ad esempio:

    1) Il codice che effettua la query nel DB (è qui che devi decidere il formato da utilizzare per i dati)

    2) Il codice che recupera i valori dal Vector (elementAt(0).toString() è sicuramente errato dato che elementAt(0) dovrebbe essere un array).


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    25
    Scusami,dopo che ho aperto la discussione mi sono imbattuto nella tua "pillola" su java e i db e ho in parte risolto i miei problemi...ma ne sono sorti altri. Ti riposto il messaggio che avevo messo in risposta alla pillola.

    "
    Ciao LeleFT, complimenti x la pillola, molto "chiarificante".. mi sorge un problema,io ho in un vector il risultato di una query ("SELECT * FROM 'miatabella';").
    La tabella contiene due campi id e nome ed è composta da due righe
    id | nome
    ------------------
    1 | luigi
    2 | giorgio



    la porzione di codice:

    // Stampiamo i risultati:

    int i=0;
    while ( i<v.size() ) {
    System.out.println("Record numero " + (i+1));
    String [] record = (String[]) v.elementAt(i++);
    for (int j=0; j<record.length; j++)
    System.out.println( record[j] );
    }

    funziona perfettamente e stampa a video gli elementi del record (che è un array di stringhe di lenght=n°righe,no?) per come mi aspetto,cioè "Record numero 1 1 luigi" "Record numero 2 2 giorgio".

    Se però in ambiente grafico scrivo
    for(int i=0;i<record.lenght;i++)
    JOptionPane.showMessageDialog(null,record[i]);
    il risultato è diverso da quello che mi aspetto: record[0] è 2 e record[1] è giorgio,cioè perdo (o non so estrarre) 1 e luigi
    A me servirebbe estrapolare un array di stringhe solo dei nomi da "dare in pasto" a un JComboBox senza perdere il riferimento ad id che è una chiave esterna che mi relaziona la tabella a un'altra tabella...come fare???? Grazie

    "

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,301
    Tutto dipende dalla struttura della tabella nel DB e, soprattutto, dalla query che gli mandi in pasto. Se nella query hai invertito i due campi, sarà con quell'ordine che li vedrai tornare indietro.

    Poi, record[i] è l'i-esimo campo del record attuale. Per scorrere tutti i record devi scorrere il Vector.


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    25
    Buonasera a tutti.
    Purtoppo su questo pc non dispongo del codice del programma che sto cercando di realizzare.
    Vi chiedo allora se potete aiutarmi "in toto":
    dovrei realizzare un metodo che dato un vector che contiene il risultato di una SELECT* FROM 'mia_tabella'(la tabella è quella schematizzata nel precedente intervento),scorra il vector e salvi in un array di stringhe il suo contenuto.
    Il problema è che il vector contiene 4 informazioni (perchè la mia_tabella ha 2 righe e 2 colonne) organizzate in due elementi.
    Per eseguire la query ho utilizzato il codice della pillola di LeleFT, per cui vector.elementAt(0) dovrebbe essere il contenuto della prima colonna della tabella (nel mio caso 1 e 2) e vector.elementAt(1) sarà (Luigi Giorgio).
    E' possibile scinderli in 4 elementi separati?
    A me servirebbe organizzare i dati in un array di stringhe del seguente tipo {1,luigi,2,giorgio}
    ossia array[0]="1";
    array[1]="luigi";
    array[2]="2";
    array[3]="giorgio".


    E' un paio di giorni che ci provo arrivando a risultati a volte "inspiegabili" per cui non mi metto qui a descriverli. per favore aiutatemi!!!!!!!!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.