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

Java search iz access-ove baze podataka!

[es] :: Java :: Java search iz access-ove baze podataka!

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rigmarole

Član broj: 106712
Poruke: 5
*.teol.net.



Profil

icon Java search iz access-ove baze podataka!21.08.2006. u 16:08 - pre 215 meseci
Napravio sam u javi listbox sa spiskom imena, takodje imam access-ovu bazu sa kolonom gdje se nalaze ista ta imena sa godistem rodjenja pored nje.Kako sada kada izaberem u list boxu jedno ime da mi ispod prikaze isto to ime sa god. rodjenja pored, znaci da ga pronadje u bazi.Jednostavno receno Javin search baze podataka!
Hitno potrebno!
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

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



+64 Profil

icon Re: Java search iz access-ove baze podataka!21.08.2006. u 16:24 - pre 215 meseci
pa ja bi to ovako uradio.
1. add action listener to jlist
2. kada selectujes item from jlist sacuvaj to u string (nadji koja
function ti kaze koji je selectedItem, koja je vrednost selectedItem)
3. onda napisi funkciju koja ce da se connecctuje to MSACCESS (jdbc...)
4. onda funkcija koja create prepared statement (select name, year from
tbl_people where name = ?) OK?
5. i sad vratis nazad year, i name...i to je to

nadam se da je ovo jasno...

ako nije..pitaj dalje

pozdrav

nn
 
Odgovor na temu

Andreja Dulovic

Član broj: 14570
Poruke: 246
*.adsl.sezampro.yu.



+5 Profil

icon Re: Java search iz access-ove baze podataka!21.08.2006. u 19:08 - pre 215 meseci
mislim da ne bi bilo lose da postoji klasa (na primer RadSaBazom) koja ce da "radi" sve sto se tice obracanja bazi, a da njene metode samo pozivas iz glavnog programa. za ovo sto si hteo, jedno (i ne bas "cisto") resenje bi moglo da bude ovako:

Code:

import java.sql.*;

public class RadSaBazom {
    private static final String dbPath = "c:/moj_program/baza.mdb";
    private static Connection con;
    private static Statement s;
    private static ResultSet rs;
    
    public RadSaBazom() {
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+dbPath;
            con = DriverManager.getConnection( database ,"","");
            s = con.createStatement();
        } catch (Exception e) {
            System.out.println("Error: " + e);
        }
    }
    
   
   private static String dovuciGodiste(String ime) {
        try {
           // ovde pazi da se nazivi kolona i tabela slazu sa tvojim nazivima u bazi!!!
            s.execute("SELECT Godiste FROM Tabela WHERE Ime = \'"+ime+"\'");
            rs = s.getResultSet();
           // sad si u rs smestio rezultat SQL upita, a to je vrednost
           // kolone Godista u redu u kome je Ime jednako Stringu ime.
           // imaj na umu da moze da se desi da vise ljudi ima isto ime, 
           // i u tom slucaju ce rs sadrzati nekoliko godista.
           // inace, bolje bi bilo da svako ime ima svoju jedinstvenu siftu, ali
           // da se ne bi smarali sa tim, pretpostavicemo da su imena jednistvena.
        } catch (Exception e) {
            System.out.println("Error: " + e);
        }

        //ok sad treba da izvuces godinu rodjenja iz rs-a, a to se moze uraditi ovako:
         try {
            rs.next();
            String god = rs.getString(1); 
           //ovo 1 se odnosi na prvu kolonu rezultata (u ovom slucaju ne postoje kolone 2,3..)
            rs.close();
          } catch (SQLException ex) {
            ex.printStackTrace();
        }
       // na kraju bi trebalo da zatvoris konekciju ka bazi...
        try {
            s.close();
            con.close();
        } catch (Exception e) {
            if (dbg) System.out.println("Error: " + e);
        }

        return god; //vraca godiste.
   }

} //kraj klase


dakle, ako u glavnom programu/formi imas hendler klikna u listboxu, onda iz njega pozoves ovaj metod u klasi koji ti vraca godiste na osnovu imena, i to godiste posle smestis u neku komponentu na formi ili sta si vec zamislio...

e sad, nemoj 100% da se pouzdas u ovo jer ne znam kako ti tacno izgleda baza i program, ali to je ta prica, cisto da ukapiras sta kako ide.

naravno, ovo je primer lose programerske prakse, jer bi trebalo da postoji privatan metod koji smesta rezultat u rs i koji ce se pozivati iz javnog metoda dovuciGodiste. takodje bi deo koda koji zatvara konekciju sa bazom trebalo da bude smesten u poseban metod itd... no, kao sto rekoh, ovo je vise neko kao "objasnjenje" nego konkretno resenje problema.


pozdrav

p.s. mozda ne bi bilo lose da napravis da se listbox "sam" puni imenima iz kolone imena (tako ces uvek biti siguran da je lista imena azurna ako nekad promenis sadrzaj baze).


[Ovu poruku je menjao Andreja Dulovic dana 22.08.2006. u 02:06 GMT+1]
 
Odgovor na temu

rigmarole

Član broj: 106712
Poruke: 5
*.teol.net.



Profil

icon Re: Java search iz access-ove baze podataka!23.08.2006. u 22:54 - pre 215 meseci
Hvala va sto ste utrosili vrijeme da bi meni pomogli, mada sam to sam trebao uradio na drugi nacin.
 
Odgovor na temu

djalfirevic

Član broj: 76932
Poruke: 497
*.dynamic.sbb.co.yu.



Profil

icon Re: Java search iz access-ove baze podataka!24.08.2006. u 11:13 - pre 215 meseci
Citat:
rigmarole: Hvala va sto ste utrosili vrijeme da bi meni pomogli, mada sam to sam trebao uradio na drugi nacin.


??????????
 
Odgovor na temu

[es] :: Java :: Java search iz access-ove baze podataka!

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

Postavi temu Odgovori

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