2017-11-05 16 views
0

bill_itemsという名前のテーブルに値を追加しようとしましたが、これはボタン "add to cart"のコーディングですが、フィールドリストの "Unknown column Jacket"このコーディングで間違っている?フィールドリスト内のジャケットの不明な列

try { 
    rs = stmt.executeQuery("select * from mens_wear where Item_code = 1090;"); 
    while(rs.next()){ 
     icode = rs.getInt("Item_code"); 
     p = rs.getInt("Price"); 
     bname = rs.getString("Brand_Name"); 
     iname = rs.getString("Item_Name"); 
     t = rs.getString("Type"); 
    } 
    rs.close(); 
    stmt.close(); 
    con.close(); 
} catch(Exception e) 
    {JOptionPane.showMessageDialog(null,e.getMessage());} 
    try { 
     Class.forName("java.sql.Driver"); 
     con = DriverManager.getConnection("jdbc:mysql://localhost/aashita","root","1510"); 
     stmt = con.createStatement(); 
     int a = stmt.executeUpdate("insert into bill_items values('"+icode+"','"+t+"','"+bname+"','"+iname+"','"+p+"');"); 
     JOptionPane.showMessageDialog(null,"Added Successfully"); 
    } catch(Exception e) { 
     JOptionPane.showMessageDialog(null,e.getMessage()); 
    } 
} 
+0

あなたのインデントにもっと注意を払い、あなたのコードの前に '>'をつけないでください。さて、あなたは[リソースを試してみる](https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html)を見てみたいかもしれません。 – Turing85

+0

もちろんそれはしませんでした。それはコメントであり、答えではありません。 – Turing85

+0

[もっと速い回答を得るために、どのような状況で私の質問に「緊急」やその他の類似のフレーズを追加することができますか?](// meta.stackoverflow.com/q/326569) - 要約は、ボランティアに対処する理想的な方法であり、回答を得ることはおそらく非生産的です。これをあなたの質問に追加しないでください。 – halfer

答えて

0

インサート内の列名を指定して、テーブルの列の順序に依存しないのは悪い習慣です。また、自分の価値観のいずれかの場合は、クエリ文字列のエスケープ処理に問題がある可能性があり引用符を含んでいます。列名を追加し、パラメータ付きの準備文を使用してみます。

string updateText = "insert into bill_items (Item_code, Type, Brand_Name, Item_Name, Price) "; 
updateText += "values (?, ?, ?, ?, ?)"; 

PreparedStatement stmt = con.prepareStatement(updateText); 
stmt.setInt(1, icode); 
stmt.setString(2, t); 
stmt.setString(3, bname); 
stmt.setString(4, iname); 
stmt.setInt(5, p); 

int a = stmt.executeUpdate(); 
+0

それは完璧に動作します!大丈夫です – Aashita

関連する問題