Imam dve table, tabelu Sifrarnik i tabelu Rashodi, ono sto pokusavam jeste to da korisniku zabranim da obrise iz sifrarnika NAZIV koji je upotrebljen u nekom redu u tabeli Rashodi.
Ja zelim da se obrise samo naziv koji je korisnik odabrao u tabeli Sifrarnik, a program mi obrise bukvalo sve redove u Sifraniku koji nisu upotrebljeni u tabeli Rashodi. Znaci i pored toga sto je u TextField-u naznacen tacan naziv iz sifrarnika koji treba da se proveri i obrise u koliko ne postoji u tabeli rashodima, program obrise bukvalno sve redove koji nisu upotrebljeni.
Na pocetku mi je delovalo kao 5 minuta posla, a na kraju je ispalo da nisam uspeo da uradim.
Evo i koda:
Code:
public void ObrisiSifrarnik(JTable t, JTextField t1 )
{
try{
int r = JOptionPane.showConfirmDialog(rootPane, "Da li želite da obrište odabrani red?", "UPIT!", JOptionPane.YES_NO_OPTION);
if(r != JOptionPane.NO_OPTION)
{
if(t1!=null&&!t1.getText().equals("")){
conn = connect.ConnectDB();
Statement st=conn.createStatement();
String naziv=t1.getText();
String query= "DELETE FROM SIFRARNIK WHERE NAZIV='"+naziv+"' NOT IN (SELECT RASHOD FROM RASHODI WHERE RASHOD='"+naziv+"')";
st.executeUpdate(query);
st.close();
conn.close();
}
else
{
JOptionPane.showMessageDialog(rootPane, "Morate popuniti sva polja!", "UPOZORENJE", 2);
}
}}
catch(Exception e)
{
e.printStackTrace();
}
}
public void ObrisiSifrarnik(JTable t, JTextField t1 )
{
try{
int r = JOptionPane.showConfirmDialog(rootPane, "Da li želite da obrište odabrani red?", "UPIT!", JOptionPane.YES_NO_OPTION);
if(r != JOptionPane.NO_OPTION)
{
if(t1!=null&&!t1.getText().equals("")){
conn = connect.ConnectDB();
Statement st=conn.createStatement();
String naziv=t1.getText();
String query= "DELETE FROM SIFRARNIK WHERE NAZIV='"+naziv+"' NOT IN (SELECT RASHOD FROM RASHODI WHERE RASHOD='"+naziv+"')";
st.executeUpdate(query);
st.close();
conn.close();
}
else
{
JOptionPane.showMessageDialog(rootPane, "Morate popuniti sva polja!", "UPOZORENJE", 2);
}
}}
catch(Exception e)
{
e.printStackTrace();
}
}