Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0)

  • 16 odgovora
  • 5.584 pregleda

Najnovija ↓

kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 07.08.2006. u 12:35 · pre 246 meseci #1
pitanje br.1
pravim aplikaciju (u netbeansu 5.0) koja treba radi za mdb bazom (ne mora, ali imam mdb fajl vec popunjen accessu od ranije, pa mi je to zgodno). uspeo sam da je povezem sa tom bazom (fajlom) ovako:
Code:
dbPath = "d:/java/test/mdbTEST.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbPath;
con = DriverManager.getConnection( database ,"","");


iz raznih klasa i metoda mogu da koristim tu konekciju i (sa tog aspekta) je sve ok.
dakle, url je:
Code:
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:/java/test/mdbTEST.mdb


e sad, kad idem na "runtime"->Databases->Drivers->JDBC-ODBC Brigde(desni klik)->Connect Using...->upisem ovaj gore url->ok
on izbaci:
Code:
Unable to obtain schema.
There is insufficient informatio to enstablish a connection to obtain list of schemas. Check database URL, user and password.
Driver message:[Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented

i ne mogu da vidim tabele u netbeans-u. ovo pitam zato sto mislim da je bezveze menjati tabele, kreirati kolone i slicno iz access-a, kad to vec moze u netbeansu.


pitanje br.2
imam formu i na njoj combo box. kako da taj combo box sadrzi vrednosti iz jedne kolone jedne od tabela iz baze? ne mogu da provalim "model" property.


pitanje br.3
glavna klasa aplikacije je main.java i ona ima onu cuvenu metodu
public static void main (String[] args)
koja krece prva, i to je ono sto mi treba. odakle se pozivaju razne metode: stvaranje konekcije, neke globalne promenljive i tako dalje. kad se ta inicijalizacija zavrsi, treba da se pozove osnovna forma aplikacije.
kako?


hvala!
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 07.08.2006. u 19:13 · pre 246 meseci #3
hvala!

---------------

mozda je bolje da preformulisem pitanje br.2
- ako na formi imam button, combo box, listu i textbox, kako da pritiskom na dugme postavim vrednosti ostalih komponenti.
na pimer:
neka je lista vrednosti combo boxa bila "prvi", "drugi", "treci", a nakon pritiska na dugme hocu da bude "br.1", "br.2", "br.3". zatim treba da se u textboxu ispise "Pozrav!", a vrednosti u listi treba da budu iste kao u kombo box-u.

Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 09.08.2006. u 12:43 · pre 246 meseci
izmenjeno 1 put, poslednji put Andreja Dulovic 09.08.2006. u 13:18
  1. Andreja Dulovic09.08.2006. u 13:18zapis iz teksta poruke
#4
btw, sta znaci kad outout prijavi ovo:

Code:
D:\JAVA\test\TestApp1\src\testapp1\frmcntrl\ComboBoxModelTip.java:45: warning: [unchecked] unchecked call to add(E) as a member of the raw type java.util.Vector
        v.add(obj);
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 09.08.2006. u 13:16 · pre 246 meseci
izmenjeno 1 put, poslednji put Vanja Petreski 09.08.2006. u 14:12
  1. Vanja Petreski09.08.2006. u 14:12zapis iz teksta poruke
#5
Deklarisao si vektor, a onda si mu dodao element Object. Kompajler te upozorava da u Javi 1.5 postoji sigurniji nacin: deklarisi vektor ovako: Vector<Object>, mada to nema smisla, nego bolje Vector<NekiTip>. Na taj nacin ces dobiti gresku prilikom kompajliranja kada dodas nesto sto nije NekiTip.

Takodje, mozda je bolje da koristis ArrayList<NekiTip> umesto vektora (zbog performansi), osim ako ne koristis pristup kolekciji iz vise niti!
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 10.08.2006. u 01:27 · pre 246 meseci #6
vanja, hvala na odgovoru!
promenio sam sve Vector-e u ArrayList<String> i sad sve radi cisto, k'o suza. ne prijavljuje vise nikakve greske i exceptione. :) inace, cisto sam radoznao (nikad se ne zna kad ce da zatreba), da li je (i zasto) Vector bolji za multithreading pristup od ArrayList-a?


-----------------

pitanje br 4
u polju tabele u bazi imam (namerno stavljeno) polje ciji se sadrzaj:
"ŠĐŽČĆšđžčć"

i kad to polje svojom aplikacijom dohvatim iz tabele i ispisem na ekran, vidi se:
"ŠĐŽCCšđžžcc"

dakle, ne "vidi" ČĆčć kako treba, vec ih vidi kao CCcc, sto mi onemogućava da šaljem validne upite ka bazi. koji je uzrok tome i kako se ova boljka leci?

pozdrav1
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 10.08.2006. u 16:59 · pre 246 meseci #8
Citat:
Andreja Dulovic: hvala!

---------------

mozda je bolje da preformulisem pitanje br.2
- ako na formi imam button, combo box, listu i textbox, kako da pritiskom na dugme postavim vrednosti ostalih komponenti.
na pimer:
neka je lista vrednosti combo boxa bila "prvi", "drugi", "treci", a nakon pritiska na dugme hocu da bude "br.1", "br.2", "br.3". zatim treba da se u textboxu ispise "Pozrav!", a vrednosti u listi treba da budu iste kao u kombo box-u.


Code:

JComboBox cb;
Vector v;
JTextField tf;

bDugme.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e){
                int items = cb.getItemCount();

                cb.removeAllItems();
        for(int i=0; i<items; i++){
                     cb.addItem("br." + i);  
                }
                
                //sada setujes tekst u tekstualno polju        
                tf.setText("Pozdrav");
    }
});



Naravno, kao sto ti je Vanja rekla, ovde bi mogao da koristis ArrayList umesto Vector-a.

Nadam se da si na ovo mislio...
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 10.08.2006. u 17:31 · pre 246 meseci #10
Evo ajde da covek ne mora da ide na link...

Broj poruka: 1095 - [ Pretraga ]
Kontakt: [ Slanje Email-a / Privatna Poruka ]
Lokacija: Mars
Sajt: http://kondor.etf.bg.ac.yu/~vpetreski
ICQ Broj: 0
Jabber: [email protected]
Datum rođenja: 21.3.1982.
Poslednja poseta: 10.08.2006.
Vremenska Zona: 1 GMT
Kompjuterske veštine: Linux, *BSD, Networking, Shell scripting, C, C++, Java (J2SE, J2EE), JDeveloper & Oracle ADF, PHP
Obrazovanje: ETF | http://www.etf.bg.ac.yu
Zaposlenje: RC ETF | http://rc.etf.bg.ac.yu/?p=onama_zaposleni
Datum registracije: 05.05.2001.
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 10.08.2006. u 23:43 · pre 246 meseci
izmenjeno 1 put, poslednji put Andreja Dulovic 11.08.2006. u 01:06
  1. Andreja Dulovic11.08.2006. u 01:06zapis iz teksta poruke
#11
@vanja
hvala na odgovoru, to nisam znao, a moze lako da zatreba.


@djalfirevic
hvala ti na kodu i odgovoru. to je odprilike to sto mi treba, mada je meni bilo lakse da napravim klasu koja implementira MutableComboBoxModel, posto ne kontam jos uvek dovoljno dobro te stvari da bih mogao elegantnije da manipulisem sadrzajem komponenti...



-------
a propo mog problema sa nasim slovima, izgleda da je mrka kapa sto se toga tice:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6345277

ukratko:
Citat:
UTF8 yielded the connection, but since Access DB charset is UTF-16, the data were retrieved/updated corrupted.
Work Around

N/A
Evaluation

This is targetted for next JDK release i.e. JDK 7.0.
This is not targetted for mustang



namece se logicno pitanje: postoji li neki free driver koji moze da se koristi umesto JDBC-a za ove potrebe (veze sa ms access fajlom koji je u UTF-16)?
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 12.08.2006. u 03:14 · pre 246 meseci #12
Citat:

a propo mog problema sa nasim slovima, izgleda da je mrka kapa sto se toga tice:


ako koristis winXP probaj ovo
control panel-> regional and lang. options -> advanced ->
select a language to match the language version of the non-Unicode programs you want to use:
pa izaberi Serbian(Latin).
Potpis
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 13.08.2006. u 04:00 · pre 246 meseci #14
ne znam, taj sam problem imao na winXP i ovo ga je resilo. nisam probao aplikaciju ni na jednom drugom OS sem na winXP, a sada nazalost nemam nijedan drugi OS na kome bih to mogao da uradim. predpostavljam da i na nekim drugim verzijama windowsa postoji slicna opcija. inace, problem se javljao samo sa accessom, dok za konektovanje na druge baze ova opcija nije znacajna.
Potpis
Re: kako se podaci iz baze koriste u SWING komponentama? (netbeans 5.0) 13.08.2006. u 23:44 · pre 246 meseci #15
pokusacu kod nekoga ko nema XP, pa cu videti kako se ponasa...


inace, problem sam delimicno "resio" (pre se moze reci da sam jedan problem zamenio drugim), tako sto sam bazu konverotvao u format access 97 koji, kako se cini, ne razume ČĆčć vec ih cuva kao CCcc, sto se taman slaze sa onim sto razume JDBC.

ne razumem se nesto u baze i drajvere i sve to, ali me cisto zanima, da li postoji neka besplatna ali "univerzalna" baza za koju postoje korektni drajveri za javu a koja radi na win-u, linux-u itd...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme