2014-12-13 2 views
1

쿼리를 저장하거나 실행할 때마다 항상이 오류가 발생합니다. 나는 그것을 해결할 수 없다. 어쩌면 조언이 도움이 될지도 모른다.java1001을 사용하여 데이터베이스에 삽입

은 java.sql.SQLException : 하는 executeQuery()

여기 내 데이터베이스에 삽입 내 코드와 데이터 조작 문을 발행 할 수 없습니다.

Connection conn=null; ResultSet rs = null,rs1=null; PreparedStatement 
pst = null,pst1=null; 

DefaultTableModel model= (DefaultTableModel)tbl_stud.getModel(); 



    try{ 
     String sql="INSERT INTO students (id_num,fname,mname,lname,course,gender,year,username,password) VALUES(?,?,?,?,?,?,?,?,?);"; 
     model.setNumRows(0); 
     pst=conn.prepareStatement(sql); 
     String id=txt_idnum.getText(); 
     pst.setString(1,id); 
     String f=txt_fname.getText(); 
     pst.setString(2, f); 
     String m=txt_mname.getText(); 
     pst.setString(3, m); 
     String l=txt_lname.getText(); 
     pst.setString(4, l); 
     String crs=cmb_course.getSelectedItem().toString(); 
     pst.setString(5, crs); 
     String gen=cmb_gender.getSelectedItem().toString(); 
     pst.setString(6, gen); 
     String year = cmb_year.getSelectedItem().toString(); 
     pst.setString(7, year); 
     String uname=txt_username.getText(); 
     pst.setString(8, uname); 
     String pass=txt_password.getText(); 
     pst.setString(9, pass); 

     pst.executeQuery(sql); 


    JOptionPane.showMessageDialog(null, "Saved!","",JOptionPane.INFORMATION_MESSAGE); 


    } 
    catch(Exception e){ 
     JOptionPane.showMessageDialog(null, e,"",JOptionPane.ERROR_MESSAGE); 
    } 

답변

0

당신보다는 pst.executeQuery

+0

감사합니다. 하지만 난 그것을 변경 한 후이 오류가있어 "SQL 구문에 오류가있어서 ',?,?,?,?,? 등의 근처에서 사용할 올바른 구문을 보려면 MySQL 서버의 versiom에 해당하는 설명서를 확인하십시오. ?,?,? ' –

+0

세미콜론을 사용하지 마십시오. –

+0

String sql = "INSERT INTO students (id_num, fname, mname, lname, 코스, 성별, 연도, 사용자 이름, 비밀번호) VALUES (?,?,?,? , "?,?)"; alreaady 시도 코드 –

0

는 예외 메시지가 모든 것을 말해 pst.executeUpdate를 사용해야합니다 :

하는 executeQuery()와 데이터 조작 문을 발행 할 수 없습니다

대신 executeUpdate()을 사용해야합니다. 또한 명령문을 이미 준비한 경우 String 인수를받지 않은 실행 변형을 사용해야합니다. 그것들은 Statement에서 상속되며 PreparedStatement과 함께 사용되어서는 안됩니다 (예, 이것은 JDBC가 끔찍한 API임을 보여주기 위해 먼 길을 간다).

pst.executeUpdate(); 

은 추가 (!) 참고로, 당신은 세미콜론 (;)과 삽입 문장의 끝을 드롭한다. 정확한 드라이버 및 사용중인 RDBMS에 따라 중복되거나 잘못 표시 될 수 있습니다.

관련 문제