2013-12-21 47 views
-2

用於更新現有數據的jdbc odbc會出現什麼問題?jdbc odbc用於更新現有數據?

我在數據庫中刪除了「ID」和「FirstName」是文本類型,「Mobile」是數字類型(整數)。

錯誤代碼:java.sql.SQLException:[Microsoft] [ODBC Microsoft Access Driver] UPDATE語句中的語法錯誤。

UPDATE Student set ID='"+id+"','FirstName'"+fName+"',Mobile"+number+" where ID='"+id+"'" 
            here--^  and here--^ 

你也有一個報價是不應該存在

UPDATE Student set ID='"+id+"','FirstName 
         here--^ 

提示:如果你只是印刷的最終查詢

private void jButton8ActionPerformed(java.awt.event.ActionEvent evt) {           

    try{ 
      int number; 
      String id,fName; 
        id=jTextField1.getText(); 
        fName=jTextField2.getText(); 
        number=Integer.parseInt(jTextField3.getText()); 

     s.executeUpdate("UPDATE Student set ID='"+id+"','FirstName'"+fName+"',Mobile"+number+" where ID='"+id+"'"); 
      JOptionPane.showMessageDialog(null,"Record has been updated"); 
       System.out.println("Updated"); 
     DBclose(); 
     DBopen(); 
    } 

    catch(HeadlessException | SQLException ae){ 
      System.out.println(ae);}} 

回答

0

您在查詢忘記= ,或者使用調試器來檢查它的值,你會立即注意到這一點。

而且您還應該學會使用prepared statements來使代碼更健壯(例如,如果名稱是O'Reilly),並且不容易受到SQL注入攻擊。

最後,您不應該使用完全過時的JDBC/ODBC驅動程序。下載數據庫的數據庫驅動程序並使用它。

+0

不要責怪你的老師。他不能教你一切。程序員必須每天自己學習新事物。 –