2015-10-30 94 views
2
String s1 = Fname.getText(); 
String s2 = Lname.getText(); 
String s3 = usr.getText(); 
String s4 = psswd.getText(); 
String s5 = Eml.getText(); 
String s6 = sx.getText(); 
String s7 = DOB.getText(); 
String s8 = mob.getText(); 
String s9 = city.getText(); 

if((s3 != null) && (s4 != null)) 
    try 
    { 
     String query = "INSERT INTO SIGNUP " + "(F_NAME varchar2(10), L_NAME varchar2(10), USER_ID varchar2(10), PASSWD varchar2(15), E_MAIL varchar2(30), SEX varchar2(7), DOB Date, MOB_NO varchar2(10), CITY varchar2(15))" + " VALUES(?,?,?,?,?,?,?,?,?)"; 
     String user = "system"; 
     String psswd = "sys123"; 
     String url = "jdbc:oracle:thin:@localhost:1521:xe"; 
     Class.forName("oracle.jdbc.driver.OracleDriver"); 
     connection = DriverManager.getConnection(url, user , psswd); 
     //System.out.println(query); 

     preparedStatement = connection.prepareStatement(query); 
     preparedStatement.setString(1, s1); 
     preparedStatement.setString(2, s2); 
     preparedStatement.setString(3, s3); 
     preparedStatement.setString(4, s4); 
     preparedStatement.setString(5, s5); 
     preparedStatement.setString(6, s6); 
     preparedStatement.setString(7, s7); 
     preparedStatement.setString(8, s8); 
     preparedStatement.setString(9, s9); 
     int temp = preparedStatement.executeUpdate(); 

     if (temp > 0) 
     { 
      String msg = "Congratulations! Registration Successful..."; 
      JOptionPane.showMessageDialog(b1, null, msg, temp); 
     } 
    } 
    catch (Exception e) { 
     // TODO: handle exception 
     System.out.println(e.getMessage()); 
     e.printStackTrace(); 
    } 

好插入行,我知道這是一個重複的問題,已經問了很多times.But,我仍然無法修復它。我已經檢查了所有可能的錯誤,如空格,單引號,但它仍然不起作用。用戶名和密碼字段不可爲空。值java.sql.SQLException:ORA-00917:缺少逗號而在表

回答

4

從INSERT中刪除類型定義varchar2(10)等。

"INSERT INTO SIGNUP " + "(F_NAME, L_NAME, USER_ID ...)" 
2
String query = "INSERT INTO SIGNUP " + "(F_NAME , L_NAME , USER_ID , PASSWD , E_MAIL, SEX , DOB Date, MOB_NO , CITY)" + " VALUES(?,?,?,?,?,?,?,?,?)"; 

我認爲這是一個更好的辦法。如果您使用Java,爲什麼不使用Entity JPA 2.2。它將管理您的CRUD操作。

+0

然後連接操作的原因是什麼? – Klever

+0

嗯,我是java.so中的一個新蜜蜂,對此不太瞭解。 「失蹤的逗號錯誤」已解決,但出現了一個新消息:「ORA-00904:」E_MAIL「:無效標識符」。 :(@AmirBuzo – Ayush

+0

最後,我明白了.E_MAIL是Oracle中的一個保留關鍵字。因此,您需要更改名稱。一個大的相關.. :)) – Ayush