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

ispis iz mysql-a

[es] :: Java :: ispis iz mysql-a

[ Pregleda: 2580 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

LukaK
Pula

Član broj: 202797
Poruke: 6
*.adsl.net.t-com.hr.



Profil

icon ispis iz mysql-a24.10.2010. u 21:51 - pre 164 meseci
Za ispis tablice iz mysql baze koristim Panel i na njemu DefaultTableModel. Poziv ispisa se vrši iz padajućeg izbornika menija. Međutim, kada na već dobiveni ispis ponovim operaciju ispisa dogodi se da mi se cijela tablica ispiše u nastavku prethodne, i tako za svaki sljedeći klik slijedi ispis nadovezan na prethodni. Ima li netko prijedlog kako da ovo riješim?

pimjer koda:
void listClanovi(){
Vector vc = SQLHandler.getClanovi();
for(int i=0; i<vc.size(); i++){
Clanovi sc = (Clanovi)vc.elementAt(i);
DTM2.addRow(new Object[]{sc.ID, sc.ime, sc.prezime, sc.Email, sc.telefon, sc.naziv_projekta});
}

}


pozdrav
 
Odgovor na temu

bantu

Član broj: 38670
Poruke: 305
89.111.240.*



+27 Profil

icon Re: ispis iz mysql-a25.10.2010. u 07:54 - pre 164 meseci
Ako ne obrišeš nešto i na to nešto nastaviš da dodaješ podatke onda je logično da ćeš da imaš i podatke od prije i nove podatke, meni zvuči logično.

Pretpostavljam da ti je ovo DTM2 table model, napravi mu neku medodu "isprazni" koju ćeš da pozoveš prije popunjavanja modela sa podacima, ili model nanovo instanciraj prije popunjavanja podacima.
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
...148.91.adsl.dyn.beotel.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: ispis iz mysql-a26.10.2010. u 09:39 - pre 164 meseci
Ja bi to uradio na sledeci nacin, svaki put kad treba da popunis podatke iz tabele napunio bih novi table model i na zavrsetku samo nad samom tabelom setovao novi table model. Opet punjenje samog table modela bi napravio unutar swing workera, jer u protivnom moze da se desi recimo da aplikacija izgubi konekciju sa bazom, i onda izgleda kao da se aplikacija zaglavila tj nece da se iscrtava ponovo. ako je pomeris smanjis ili stavis nekidrugi prozor preko nje.
 
Odgovor na temu

iMac
Kraljica Mamba
Software Developer
Beograd

Član broj: 271371
Poruke: 23
*.mozzartbet.com.



+1 Profil

icon Re: ispis iz mysql-a26.10.2010. u 10:27 - pre 164 meseci
Cao. Kao prvo, ovako se ne radi sa tabelom u swingu. Savet: Napravi novu klasu koju ces nazvati ClanoviTableModel u koju ces ugurati listu,vektor(kolekciju) objekata Clan. Dalje, extendovaces DefaultTableModel ili ces implementirati AbstractTableModel(moj savet je da extendujes zato sto treba mali broj metoda da override-ujes). Dalje, napravi, po zelji, metode koje stavljaju, brisu, replace-uju objekte u listi ali ih nazovi tako da asociraju kao da radis sa tabelom, tipa public void insertClan(Clan clan){ kolekcija.add(clan); } I najvaznije od svega je da overrideujes metodu getValueAt(row, column)

Ova bi izgledala nesto nalik:

@Override
public Object getValueAt(int row, int column) {
Clan clan = lista.get(row);

switch(column)
{
case 1:
return clan.ID
break;
case 2:
return clan.ime;
break;
...
...
case n:
return clan.naziv_projekta;
return;

}
}

Dakle, moras da mapiras svaku kolonu na atribut objekta Clan.

Dalje, mozes se zezati i dodavati nesto tipa

public void clearTableContent()
{
lista.clear();
fireTableDataChanged();
}


public void refresh()
{
//dohvatis nove podake
clearTableContent();
//stavis u listu nove podatke
}

Uvek kad menjas podake u listi ides fireTableDataChanged().

Toliko od mene.


P.S. Poradi malo i na izgledu koda, ovo izgleda poprilicno pocetnicki.


 
Odgovor na temu

LukaK
Pula

Član broj: 202797
Poruke: 6
*.adsl.net.t-com.hr.



Profil

icon Re: ispis iz mysql-a14.11.2010. u 18:46 - pre 163 meseci
hmm.., ne znam koliko je ovako u redu, ali napravio sam tako da svaki puta prije pozivanja liste ispraznim vektor:


void listClanovi(){
Vector vc = SQLHandler.getClanovi();
for(int i=0; i<vc.size(); i++){
Clanovi sc = (Clanovi)vc.elementAt(i);
DTM2.addRow(new Object[]{sc.ID, sc.ime, sc.prezime, sc.Email, sc.telefon, sc.naziv_projekta});
}

private void menuItem1_actionPerformed(ActionEvent e)
{
DTM2.getDataVector().removeAllElements();
listClanovi();
}

}

pozdrav i hvala
 
Odgovor na temu

[es] :: Java :: ispis iz mysql-a

[ Pregleda: 2580 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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