Zdravo svima.
Potrebna mi je pomoc oko zadatka.Zadatak glasi:
- Postoji metoda kreiraj autora koja može da kreira autora ukoliko već ne postoji autor u bazi podataka.
resenje zadatka:
public static boolean kreirajAutora(String imePrezime,int godinaRodjenja,int godinaSmrti){
if(vratiAutora(imePrezime)!=null) {
System.out.println("Dati autor vec postoji u bazi!");
return false;
}
else {
String sql = "INSERT INTO autori(autor,godinaRodjenja,godinaSmrti)" +
" VALUES('" + imePrezime + "'," + godinaRodjenja + "," + godinaSmrti + ")";
BazaPodataka bp = BazaPodataka.getInstanca();
try{
int i = bp.iudQuerry(sql);
if(i==1) {
System.out.println("Uspesno dodat autor");
return true;
}else {
System.out.println("Niste dodali autora!");
return false;
}
}catch (SQLException e){
System.out.println("Doslo je do greske pri dodavanju autora u bazu! "+e);
return false;
}
}
}
Povezivanje sa bazom podataka(konekcija):
package konekcija;
import java.sql.*;
public class BazaPodataka {
private Connection conn;
private static BazaPodataka instanca;
private BazaPodataka() {
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:knjige.db");
} catch ( Exception e ) {
System.err.println("Doslo je do greske pri konekciji na bazu podataka" + e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
public static BazaPodataka getInstanca() {
if(instanca == null)
instanca = new BazaPodataka();
return instanca;
}
public void automatskaTransakcija(boolean on_off) throws SQLException { conn.setAutoCommit(on_off); }
public void snimiTransakciju() throws SQLException { conn.commit(); }
//metoda za upite koji su tipa INSERT, UPDATE, DELETE
public int iudQuerry(String sql) throws SQLException {
System.out.println(sql);
Statement statement = conn.createStatement();
return statement.executeUpdate(sql);
}
public ResultSet select(String sql) throws SQLException {
System.out.println(sql);
Statement statement= conn.createStatement();
return statement.executeQuery(sql);
}
}
izgled baze:
[img]http://postimg.org/image/4c50hczqp/[/img]
Ako moze neko da mi objasni kod resenja bio bih mu zahvalan.Kod konekcije nije potrebno objasnjavati.Unapred zahvalan!
Potrebna mi je pomoc oko zadatka.Zadatak glasi:
- Postoji metoda kreiraj autora koja može da kreira autora ukoliko već ne postoji autor u bazi podataka.
resenje zadatka:
public static boolean kreirajAutora(String imePrezime,int godinaRodjenja,int godinaSmrti){
if(vratiAutora(imePrezime)!=null) {
System.out.println("Dati autor vec postoji u bazi!");
return false;
}
else {
String sql = "INSERT INTO autori(autor,godinaRodjenja,godinaSmrti)" +
" VALUES('" + imePrezime + "'," + godinaRodjenja + "," + godinaSmrti + ")";
BazaPodataka bp = BazaPodataka.getInstanca();
try{
int i = bp.iudQuerry(sql);
if(i==1) {
System.out.println("Uspesno dodat autor");
return true;
}else {
System.out.println("Niste dodali autora!");
return false;
}
}catch (SQLException e){
System.out.println("Doslo je do greske pri dodavanju autora u bazu! "+e);
return false;
}
}
}
Povezivanje sa bazom podataka(konekcija):
package konekcija;
import java.sql.*;
public class BazaPodataka {
private Connection conn;
private static BazaPodataka instanca;
private BazaPodataka() {
try {
Class.forName("org.sqlite.JDBC");
conn = DriverManager.getConnection("jdbc:sqlite:knjige.db");
} catch ( Exception e ) {
System.err.println("Doslo je do greske pri konekciji na bazu podataka" + e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
}
public static BazaPodataka getInstanca() {
if(instanca == null)
instanca = new BazaPodataka();
return instanca;
}
public void automatskaTransakcija(boolean on_off) throws SQLException { conn.setAutoCommit(on_off); }
public void snimiTransakciju() throws SQLException { conn.commit(); }
//metoda za upite koji su tipa INSERT, UPDATE, DELETE
public int iudQuerry(String sql) throws SQLException {
System.out.println(sql);
Statement statement = conn.createStatement();
return statement.executeUpdate(sql);
}
public ResultSet select(String sql) throws SQLException {
System.out.println(sql);
Statement statement= conn.createStatement();
return statement.executeQuery(sql);
}
}
izgled baze:
[img]http://postimg.org/image/4c50hczqp/[/img]
Ako moze neko da mi objasni kod resenja bio bih mu zahvalan.Kod konekcije nije potrebno objasnjavati.Unapred zahvalan!