Šta je novo?

Java - Pomoc!

S_3_ka

Slavan
Učlanjen(a)
02.11.2004
Poruke
7
Poena
301
Ako zelim da napravim aplikaciju koja bi sluzila za recimo popis clanova video kluba ili nesto slicno, da li treba da koristim neku bazu podataka, ili java I/O u fajl? Mislim nije mi to bas najjasnije.
 
stavi neku bazu podataka, mnogo bolje resenje
 
Ok. Pokusavao sam da radim nesto sa Javom i MySql bazom. Pokusao sam da napravim probni programcic koji bi samo citao jedan podatak iz baze i ispisivao ga u TextField. Ali ne radi. Ne znam zasto. Pocetnik sa i sa Javom i sa MySql bazom. Ne znam ni da li sam dobro registrovao drajver za bazu, ni da li je konekcija dobra... Znam da je baza uredu.



import java.awt.*;
import java.applet.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class Profesori extends Applet

{

Statement stmt;

ResultSet rs;

Button btnIzlaz;
Button btnIspis;

TextField txtIspis;

public void init()

{

txtIspis = new TextField("Ime profesora",20);

add(txtIspis);

btnIspis = new Button ("Ispis");

add(btnIspis);

btnIzlaz = new Button ("Izlaz");

add(btnIzlaz);



}

public void paint(Graphics g)

{


}

void Ispis()

{

txtIspis.setText("");

stmt = null;

rs = null;

try

{

Class.forName("com.mysql.jdbc.Driver").newInstance();

}

catch (Exception ex)

{

}

try

{

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/profesori", "root", "blabla");

try

{

String prezime = "Petrovic";
String ime;

stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT ime FROM prof WHERE prezime = prezime");

if (stmt.execute("SELECT ime FROM prof WHERE prezime = prezime"))

{

rs = stmt.getResultSet();

ime = rs.getString("ime");

txtIspis.setText(ime);

}

}

finally

{

if (rs != null)

{

try

{

rs.close();

}

catch (SQLException sqlEx)

{

// ignore

}

rs = null;

}

if (stmt != null)

{

try

{

stmt.close();

}

catch (SQLException sqlEx)

{

// ignore

}

stmt = null;

}

}

}

catch (Exception ex)

{

}





}

public boolean action(Event evt, Object arg)

{

if (arg == "Izlaz")
System.exit(0);

if (arg == "Ispis");
Ispis();

return true;

}



public static void main(String args[])

{

Profesori app = new Profesori();

Frame frame = new Frame("Program");



app.init();

app.start();



frame.add("Center", app);

frame.resize(500,75);

frame.show();

}

}
 
ovo je haos totalni od koda! Sta ce ti void main u appletu? Zasto ignorises svaki Exception koji hvatas, kako mislis da vidis gresku koja se javlja? Za pocetak probaj bez appleta, lakse ti je x puta.
 
Nije ovo applet, ovo je aplikacija. Ne zanima me sad trenutno greska, vec samo da li je sintaksa ispravna , tj. da li na dobar nacin upotrebljavam drajvere za mysql i da li na dobar nacin vrsim konekciju.
 
Nasao sam gresku! Hvala onima koji su se trudili da mi pomognu, ako ih ima!

Nego nesto drugo me zanima: ako hocu da napravim aplikaciju koja bi koristila bazu podataka, ali da ne moram da dizem server za bazu na svakom pojedinom racunaru gde bi se aplikacija koristila koju bazu da koristim? Sql baze zahtevaju server za baze, zar ne? Onda, JDBC-ODBC bridge? Access?
 
stavis access bazu u osnovi i ne brines...
povezes je lepo jdbcodbc drajverom i nema problema...
 
OK, hvala! I mislio sam da je tako. Nego mogu li nekako da napravim java aplikaciju koja bi se pokretala po windows okruzenjem, ali da ima .exe ekstenziju?
 
Mozes iz novijih JBuilder-a, ali licenca ne dozvoljava redistribuciju (ako ti je to uopste bitno).
 
Nije ovo applet, ovo je aplikacija.
A sta ti onda znaci ovo?

public class Profesori extends Applet

stavis access bazu u osnovi i ne brines...
povezes je lepo jdbcodbc drajverom i nema problema...

brinuces kasnije kad povezes sa bazom preko jdbc-odbc bridge-a. Tu ces naici na toliko problema i ogranicenja da ti se nece isplatiti to sto ne dizes neki drugi db server posebno. jdbc-odbc bridge se nigde ne preporucuje kao opcija sem za ucenje, a i to je po meni suvisno
 
Poslednja izmena:
Ja mislim da prvo treba da definises i dobro isplaniras za sta ce ta aplikacija da ti sluzi (pri tom mislim u kakvim ce uslovima da radi i koji je obim podataka kojima treba da barata). Ako ta brojka ide max do par hiljada "usera" onda je po meni nepotrebno da se cimas sa bazama jer nista sporije/losije/nesigurnije nece da radi ako sve te podatke trpas u recimo binary tree, vektor ili linkovanu listu pa sve to zapises u fajl.
 
Nazad
Vrh Dno