Citat:
eyesofyu: Trebala bi mi mala pomoc oko koda tacnije objasnjenje sta tacno radi?
Sta tacno Vector radi u javi....
Code:
Vector knjige;
/** konstruktor */
public SrednjiSloj()
{
this.knjige=new Vector(); //objasnjenje
}
public void dodajNovuKnjigu(String naziv, String autor, String isbn, double cena, int kol)
{
Knjiga k=new Knjiga();
k.setNaziv(naziv);
k.setAutor(autor);
k.setIsbn(isbn);
k.setKolicina(kol);
k.setCena(cena);
this.knjige.add(k);
}
public Knjiga nadjiKnjigu(int rbr) // objasnjenje
{
return (Knjiga)this.knjige.elementAt(rbr);
}
public Vector dajKnjige()
{
return this.knjige;
}
public Vector ucitajIzBaze(){
Vector knjige=null;
String upit="select * from knjige";
ResultSet rs=null;
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection connection = DriverManager.getConnection(dbUrl); // obajsnjenje, sta tacno radi try catch?
Statement statement=connection.createStatement(); // objasnjenje
knjige=new Vector();
rs=statement.executeQuery(upit); // objasnjenje
while(rs.next())
{
Knjiga k=new Knjiga(); // objasnjenje
k.setNaziv(rs.getString(1));
k.setAutor(rs.getString(2));
k.setIsbn(rs.getString(3));
k.setCena(Double.parseDouble(rs.getString(4)));
k.setKolicina(Integer.parseInt(rs.getString(5)));
knjige.add(k);
}
statement.close();
connection.close();
}catch(Exception sqle){System.out.println("Greska : "+sqle);}
finally{return knjige;} // objasnjnenje
}
Respektivno:
Klasa Vector predstavlja jednu od implementacija niza u javi. Pored nje, mozes koristiti i ArrayList, LinkedList, mozes naslediti Collection, pa implementirati svoje metode za rad sa kolecijom itd.
Metoda koja vraca instancu klase Knjiga na odredjenom indeksu koji se prosledjuje kao parametar zadate metode.
Try catch blok sluzi za obradu izuzetaka (Exception). U ovom slucaju moze se javiti izuzetak ako program ne nadje klasu DriverManager(tacnije ako ne referenciras projekat na jar file sa ovom klasom)
kreiranje SQL naredbe u Javi sa rad sa RDBMS (relational database management system) iliti RSUBP, po srpski.
Naime, da bi mogao da izvrsis neki upit nada bazom, moras prvo instancirati objekat klase Statement.
Nakon toga pozivas metodu koja izvrsava upit nad bazom i vraca objekat ResultSet. Postoji vise metoda za izvrsenje upita (za to pogledaj u APIju).
Sledeca stvar je pozivanje konstruktora klase Knjiga. E, sada ovde mi nije jasno kako to da jos nisi naucio osnovne koncepte OO programiranja, a vec radis sa JDBCom???
I na kraju, finally blok se koristi kada zelis da se neki deo koda OBAVEZNO izvrsi, bez obzira da li je 'bacen' izuzetak ili ne.