2017-02-21 6 views
0

私は学校を作るためのJavaプロジェクトを持っています。私はSQLとJFrameを使用しており、注文(または編集)からレコードを削除しようとすると、3つのテーブル(顧客、注文、車)があります。私は私のSQLクエリに問題があると思います。 誰かが私のミスを教えてくれれば、それはすばらしいことでしょう。なぜ私のSQLテーブルからのすべてのレコードが削除されていますか?

class DeleteOrder implements ActionListener{ 

    @Override 
    public void actionPerformed(ActionEvent arg0) { 
     // TODO Auto-generated method stub 

     conn = DBConnector.getConnected(); 

     String selectCustomerId = "select cus_id from customers where lname=? and "; 
      String selectCarId = "select car_id from cars where model=?"; 

      String selectedCustomer = customersCombo.getSelectedItem().toString(); 
      String selectedCar = carsCombo.getSelectedItem().toString(); 

     String sql="delete from Orders where " + selectCustomerId + selectCarId; 

     try { 
      state = conn.prepareStatement(sql); 
      state.setString(1, selectedCustomer); 
      state.setString(2, selectedCar); 
      state.execute(); 
      getAllDataFromOrders(); 
     } catch (SQLException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     }finally{ 
      try { 
       conn.close(); 
      } catch (SQLException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
     } 


    } 

}//end Delete ORder 
+1

が、私はそれがこのような何かを見て期待: 'SQL = "受注から削除どこcus_id =" + selectCustomerId + "AND car_id =" + selectCarId; ' –

答えて

1

あなただけの2つの数値を追加していると私は本当に理由を知らない::)

は、ここに私のコードです。あなたが書くべき

String sql="delete from Orders where " + selectCustomerId + selectCarId;

:私の代わりに考える

String sql="delete from Orders where cus_id =" + selectCustomerId +" and car_id = "+ selectCarId;

関連する問題