Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da pozovem funkciju

[es] :: Java :: kako da pozovem funkciju

[ Pregleda: 2365 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mvasicdo
Mladen Vasic
Doboj

Član broj: 104294
Poruke: 226
*.teol.net.



Profil

icon kako da pozovem funkciju26.10.2006. u 12:34 - pre 213 meseci
ljudi imajte na umu da sam nov sto se tice jave kad ovo budete citali ;-)

kako rezultat ove funkcije da prikazem u nekoj tabeli:

Code:
public ResultSet upitSelekcije(String upit) {
        ResultSet tabela=null;
        try {
            Statement statement=veza.createStatement();
            tabela=statement.executeQuery(upit);
        } catch (SQLException sqle) { sqle.printStackTrace(); } 
        return tabela;
    }


ova funkcija mi se nalazi u klasi koja se zove npr. "Konekcija",
prvo inicijalizujem tu klasu:
Konekcija k = new Konekcija()

pa onda pozovem funkciju:
k.upitSelekcije("select * from tabela1");

kako sada da podatke dobijene ovim upitom prikazem u tabeli (JTable) !???
 
Odgovor na temu

rj444
Radomir Jakovljevic
Beograd

Član broj: 48212
Poruke: 354
*.etf.bg.ac.yu.



Profil

icon Re: kako da pozovem funkciju26.10.2006. u 13:05 - pre 213 meseci
Ako hoces najjednostavnije i najnefleksibilnije resenje za staticko prikazivanje podataka i nista drugo onda mozes ovako da uradis:

Kada dobije objekat klase ResultSet, posle poziva metode upitSelekcije, on sadrzi redove iz baze koje su rezultat upita. Redovi sadrze one kolone koje si selektovao.
Ovde imas opis za metode klase ResultSet koje ce ti trebati: http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html.
Obrati paznju na: get metode (getString(String imeKolone), getDouble(String imeKolone)...), jer ces njima da dohvatas podatke iz odredjene celije tabele (vrsta+kolona). Koristices onu metodu koja se poklapa sa tipom podatka koji se nalazi u bazi.

Da bi dohvatio sve iz ResultSet-a sto ti treba, moras da iteriras po redovima koje on sadrzi. To recimo radis pomocu while petlje i metode next(). Ona vraca true, ako ima sledeceg reda. Obrati paznju na to da na pocetku treba da se pozicioniras ispred prvog reda u ResultSet-u, metodom beforeFirst().

Kod bi otprilike isao ovako:

Code:

ResultSet rs = k.upitSelekcije(upit);

int redova = 0;
Object[][] data = new Object[20][2]; //ovo 20 moze da se lepse odredi kao velicina ovog ResultSet-a, zaboravio sam ime metode
try{
    rs.beforeFirst();
    while (rs.next()) {   //dok ima redova vrti se u petlji
        //dohvatis ime iz jednog reda
        String ime = rs.getString("Ime");
        String prezime = rs.getString("Prezime");
        
        //ovde sada ide kod za rad sa podacima iz tabele
        data[redova][1]=ime;
        data[redova][2]=prezime;
        redova++;
    }
    Object[] kol = { "Ime", "Prezime" }; //zaglavlje tabele
    JTable t = new JTable(data,kol); //to je ta tabela
} catch (SQLException e) {}


Sto se tice koda za ubacivanje u tabelu, to ces raditi ovako:

Kreiraces jedan dvodimenzionalni niz tipa Object, recimo: Object[][] data = new Object[redova][2]; //ovde je 2 jer sam imao kolone Ime i Prezime, inace staviti onoliko koliko treba.
U ovoj gore petlji ubacujes podatke u niz, a posle samo kreiras objekat JTable pomocu konstruktora koji prihvata ovaj niz kao parametar i to je to.
Prethodno ti treba i jedan Object[] kolone = {"Ime", "Prezime"}, da bi mogao da kreiras JTable. Pogledaj ovde za detalje: http://java.sun.com/j2se/1.5.0...javax/swing/JTable.html#JTable

Kao sto rekoh ovo je skroz staticki prikaz i nemas mnogo mogucnosti kada tabelu prikazes, ako ti je potrebno vise, onda pogledaj nesto o MVC-u i interfejsima kao sto je TableModel, odnosno njegovim implementacijama: AbstractTableModel i DefaultTableModel.

Pozdrav
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: kako da pozovem funkciju26.10.2006. u 13:19 - pre 213 meseci
http://forum.java.sun.com/thre...eadIDa0576&messageID354722



--
 
Odgovor na temu

mvasicdo
Mladen Vasic
Doboj

Član broj: 104294
Poruke: 226
*.teol.net.



Profil

icon Re: kako da pozovem funkciju26.10.2006. u 13:44 - pre 213 meseci
hvala vam puno, vjerujem da ce mi dosta pomoci ...
 
Odgovor na temu

mvasicdo
Mladen Vasic
Doboj

Član broj: 104294
Poruke: 226
*.teol.net.



Profil

icon Re: kako da pozovem funkciju27.10.2006. u 08:44 - pre 213 meseci
Citat:
Ako hoces najjednostavnije i najnefleksibilnije resenje za staticko
prikazivanje podataka i nista drugo onda mozes ovako da uradis:



treba mi najbolji i najfleksibilniji nacin na koji se baza povezuje sa aplikacijom...
 
Odgovor na temu

zmau
Dragan Jovanović
programer
Šabac

Član broj: 80834
Poruke: 290
212.200.115.*



+80 Profil

icon Re: kako da pozovem funkciju27.10.2006. u 23:08 - pre 212 meseci
Bolji i fleksibilnij način je otprilike ovo što ti je nemnesic ispisao.
Znači :
1. nađi u Javinom tutorialu odeljak o klasi JTable
2. prouči interface TableModel i klasu AbstractTableModel
3. napravi svoj TableModel koji podatke vuče iz ResultSet-a. Trebaće ti neke metode iz TableModel specifikacije plus poneka metoda za okidanje upita, odnosno punjenje resultSet-a.
4. Ako hoćeš još lepše, obrati pažnju na klasu TableSorter u tutorialu.
it works on my machine
 
Odgovor na temu

[es] :: Java :: kako da pozovem funkciju

[ Pregleda: 2365 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.