2013-01-14 4 views
1

나는 내 데이터베이스에서 다른 쿼리를 실행하는 netbeans에서 java 프로그램을 만들었습니다. 테이블에 데이터를 추가 할 때 문제가 있습니다. 처음 두 테이블에는 데이터를 삽입하지만 세 번째 테이블에는 데이터를 삽입하지 않습니다. 여기 코드는 다음과 같습니다한 번에 여러 테이블에 행을 추가하려면 어떻게합니까?

String sql="INSERT INTO `adresa` (`ID` ,`TARA` ,`JUDET` ,`LOC` ,`CPOSTAL` ,`STRADA` ,`NR` ,`BLOC` ,`SC` ,`APT`) VALUES (?,?,?,?,?,?,?,?,?,?)"; 
    pst=conn.prepareStatement(sql); 
    pst.setString(1, ID.getText()); 
    pst.setString(2, tara.getText()); 
    pst.setString(3, judet.getText()); 
    pst.setString(4, loc.getText()); 
    pst.setString(5, cpostal.getText()); 
    pst.setString(6, strada.getText()); 
    pst.setString(7, nr.getText()); 
    pst.setString(8, bloc.getText()); 
    pst.setString(9, sc.getText()); 
    pst.setString(10, apt.getText()); 
    pst.execute(); 

String sql2="INSERT INTO `pbd`.`buletin` (`CNP` ,`DATAN` ,`SEX` ,`SERIENRB` ,`DATAEMIT` ,`DATAEXP`) VALUES (?,?,?,?,?,?);"; 
pst.setString(1, CNP.getText()); 
pst.setString(2, datan.getText()); 
pst.setString(3, sex.getText()); 
pst.setString(4, serienrb.getText()); 
pst.setString(5, dataemit.getText()); 
pst.setString(6, dataexp.getText()); 
pst.executeBatch(); 

String sql3="INSERT INTO `pbd`.`persoana` (`ID` ,`CNP` ,`NUME` ,`PRENUME` ,`NATIONALITATE` ,`VIU`) VALUES (?,?,?,?,?,?);"; 
pst.setString(1, ID.getText()); 
pst.setString(2, CNP.getText()); 
pst.setString(3, nume.getText()); 
pst.setString(4, prenume.getText()); 
pst.setString(5, nationalitate.getText()); 
pst.setString(6, viu.getText()); 
pst.executeBatch(); 

그리고 여기에는 테이블 정보입니다

enter image description here

내가 쿼리가 잘못된 생각 또는 테이블의 개념 그러나 나는 확실하지 않다. 무슨 생각하는지 말해줘.

답변

3

당신은

pst.close(); 
String sql2="INSERT ... 
pst=conn.prepareStatement(sql2); 
... 
pst.executeUpdate(); 

pst.close(); 
String sql3="INSERT ... 
pst=conn.prepareStatement(sql3); 
... 
pst.executeUpdate(); 

가 executeBatch로 SQL2 및 SQL3에 대한 코드를 변경해야이 경우 무관하다, 그것은 단지 같은 SQL의 다른 매개 변수 세트를 사용할 수 있습니다.

+1

부드럽게! 고맙습니다! –

관련 문제