jdbc odbc用于更新现有数据?

时间:2013-12-21 13:29:09

标签: java sql jdbc

更新现有数据的jdbc odbc会出现什么问题?

在数据库中我发现“ID”和“FirstName”是文本类型,“Mobile”是数字类型(整数)。

  

错误代码:java.sql.SQLException:[Microsoft] [ODBC Microsoft Access驱动程序] UPDATE语句中的语法错误。

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);}}

1 个答案:

答案 0 :(得分:0)

您在查询中忘记了=

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

你也有一个不应该在那里的引用

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

提示:如果您只是打印最终查询,或使用调试器检查其值,您会立即注意到。

你还应该学会使用prepared statements来使你的代码更健壮(例如,如果这个名字是O'Reilly),并且不容易受到SQL注入攻击。

最后,您不应该使用完全过时的JDBC / ODBC驱动程序。下载数据库的数据库驱动程序并使用它。