2013-03-03 38 views
0
if (e.getSource() == btn_updt) { 
     try { 

      String str = "img"; 

      int max_avail; 

      double price; 

      Frame f = new Frame(); 

      Connection con; 

      DriverManager 
        .registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); 

      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 

      con = DriverManager.getConnection("jdbc:odbc:dsnproj", "", ""); 

      Statement s = con.createStatement(); 

      // int mno=Integer.parseInt(txt_contcno.getText()); 

      price = Double.parseDouble(txt_price.getText()); 

      max_avail = Integer.parseInt(txt_qty_avl.getText()); 

      String qry_up = "update category set prod_name='" 
        + txt_pro_nm.getText() + "',desc='" 
        + txt_pro_desc.getText() + "',photo='" + str 
        + "',max_quan_avail=" + max_avail + ",cur_price=" 
        + price + ",per='" + ch_weight.getSelectedItem() 
        + "' where p_name='" + ch_pro_nm.getSelectedItem() 
        + "'"; 

      System.out.println(qry_up); 

      s.execute(qry_up); 

      System.out.println("updated"); 

      // JOptionPane.showMessageDialog(f, 
      // "Updates Successfully : ","A plain message",JOptionPane.PLAIN_MESSAGE); 
     } catch (Exception ae) { 
      System.out.println(ae.getLocalizedMessage()); 
     } 

     return result; 
    } 

和我得到的錯誤爲:錯誤在Java更新

update category set prod_name='jjhhj',desc='jjjh',photo='img',max_quan_avail=88,cur_price=99.0,per='piece' where p_name='brush' [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. 

請幫我...

+4

請從問題對準你的代碼,單獨的代碼和更加具體。 – Maroun 2013-03-03 10:39:42

+0

你確定你可以使用關鍵字作爲列名嗎?我不認爲'desc'符合列名,因爲它是一個關鍵字。改變它,你應該沒問題。 – 2013-03-03 11:21:23

回答

1

由於DESC是一個關鍵字,你必須[]圍繞着它。

使用此爲您的查詢:

String qry_up = "update category set prod_name='" 
        + txt_pro_nm.getText() + "',[desc]='" 
        + txt_pro_desc.getText() + "',photo='" + str 
        + "',max_quan_avail=" + max_avail + ",cur_price=" 
        + price + ",per='" + ch_weight.getSelectedItem() 
        + "' where p_name='" + ch_pro_nm.getSelectedItem() 
        + "'"; 
+0

我把desc描述爲..... – 2013-03-03 16:49:56

+0

thanx給你所有......我把desc改爲p_desc並且它正在解決...... – 2013-03-03 16:55:39