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

Ogranicavanje unosa istih vrednosti u bazu!?

[es] :: Java :: Ogranicavanje unosa istih vrednosti u bazu!?

[ Pregleda: 1724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dekifpi

Član broj: 233749
Poruke: 96
*.dynamic.isp.telekom.rs.



+1 Profil

icon Ogranicavanje unosa istih vrednosti u bazu!?14.01.2012. u 23:03 - pre 148 meseci
Imam bazu u koju korisnik moze da upise npr. neki prihod. Muci me to kako da mu zabranim da upise prihod koji vec postoji. Postavicu kod sa kojim vrsim upis u bazu, e sad ne znam kako da prepravim kod koji bi popunjavao bazu samo vrednostima koje nisu upisane. Ako ima neko ideju neka napise. Unapred hvala!!!

Code:


........

String naziv=textField.getText();
   
    
    Class.forName("org.apache.derby.jdbc.ClientDriver");
    Connection con=(Connection)DriverManager.getConnection("jdbc:derby://localhost:1527/proba;");
    Statement st=con.createStatement();
    
   
        st.executeUpdate("INSERT INTO T_PROBA (PRIHOD) VALUES ('"+ naziv +"')");
       
        
        
    st.close();
    con.close();

.......

 
Odgovor na temu

Au197/79
Zlatan Kadragić
Minhen

Član broj: 3556
Poruke: 772
*.cpe.vektor.net.

Sajt: aurelije.blogspot.com


+47 Profil

icon Re: Ogranicavanje unosa istih vrednosti u bazu!?15.01.2012. u 10:23 - pre 148 meseci
Po čemu znaš da neki prihod već postoji? Dakle kad utvrdiš šta predstavlja identitet entiteta koji čuvaš (neka šifra, nešto jedinstveno što razlikuje svaki red) onda ćeš to koristit da zabraniš dupliranje. A padaju mi na pamet 2 načina: 1) da pre inserta uradiš selekt po tom (tim) kolonama koje predstavljaju identitet pa ako nađeš red ne radiš insert, 2) da u šemi baze staviš UNIQUE CONSTRAINT pa onda insert ima da izbaci exception.

I jedna primedba, način na koji koristiš JDBC je loš. Koristi prepared statement-e: http://www.exampledepot.com/egs/java.sql/InsertPs.html
Bolje džaba ležat nego džaba radit.
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Ogranicavanje unosa istih vrednosti u bazu!?15.01.2012. u 10:37 - pre 148 meseci
Ovo se uglavnom ne radi na aplikativnom nivou, već na nivou baze pdoataka.
Znači treba da ubaciš jedinstveni indeks nad tom kolonom. Međutim, sumnjam da bi to rešilo tvoj problem, pošto ne verujem da ti tabela stvarno ovako izgleda, već mora da ima još kolona. Tako da ako hoćeš da ti pomognemo, daj više informacija. Na primer, pretpostavljam da si mislio da jedan korisnik ne može dva puta da unese istu vrednost. Ako je tako onda bi indeks trebalo da ide nad dve kolone (KorisnikID, Vrednost).

Inače što se tiče kreiranja indeksa pogledaj:
http://db.apache.org/derby/docs/10.1/ref/rrefsqlj20937.html
 
Odgovor na temu

dekifpi

Član broj: 233749
Poruke: 96
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Ogranicavanje unosa istih vrednosti u bazu!?15.01.2012. u 10:55 - pre 148 meseci
Da, mislio sam da korisnik ne moze da unese dve iste vrednosti. A tabela ima sledece kolone:

ID Prihod Vrednost
--------------------------------------
| | |
| | |

I naravno ne bi smelo da se desi sledece(dve iste vrednosti u tabeli tj. bazi):

ID Prihod Vrednost
--------------------------------------
1 | PLATA | 100 |
2 | PLATA | 150 |
 
Odgovor na temu

biske86
Ivan Biševac
Zubin Potok

Član broj: 62435
Poruke: 979
*.dynamic.isp.telekom.rs.

Sajt: biske.rs


+39 Profil

icon Re: Ogranicavanje unosa istih vrednosti u bazu!?15.01.2012. u 11:58 - pre 148 meseci
Citat:
dekifpi: Da, mislio sam da korisnik ne moze da unese dve iste vrednosti. A tabela ima sledece kolone:

ID Prihod Vrednost
--------------------------------------
| | |
| | |

I naravno ne bi smelo da se desi sledece(dve iste vrednosti u tabeli tj. bazi):

ID Prihod Vrednost
--------------------------------------
1 | PLATA | 100 |
2 | PLATA | 150 |

Jel ID u stvari id korisnika? Šta je u ovoj tabeli primarni ključ? Jel ova tabela vezana za neku drugu tabelu?
 
Odgovor na temu

dekifpi

Član broj: 233749
Poruke: 96
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Ogranicavanje unosa istih vrednosti u bazu!?15.01.2012. u 13:01 - pre 148 meseci
Hvala puno na savetima, uspeo sam da resim sa SQL Unique. ;)

[Ovu poruku je menjao dekifpi dana 15.01.2012. u 14:16 GMT+1]
 
Odgovor na temu

[es] :: Java :: Ogranicavanje unosa istih vrednosti u bazu!?

[ Pregleda: 1724 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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