2016-10-06 6 views
0

こんにちは、私は私のテーブルから行を削除したい、私はレシピのための3つのテーブルがあり、成分と私はレシピと食材のテーブルを結合する第三のテーブルを使用しています、行を削除 - SQL C#

私の質問私は行を追加することができますが、行を削除する方法を知らない私は本当にそれを行う方法を考えていない。

ダウンコードplzは助ける^^」

private void btnAddToRecpie_Click(object sender, EventArgs e) 
    { 
     string query = "INSERT INTO RecpieIngredient VALUES (@RecpieId,@IngredientId)"; 

     using (connection = new SqlConnection(connectionString)) 
     using (SqlCommand cmnd = new SqlCommand(query, connection)) 
     { 
      connection.Open(); 
      cmnd.Parameters.AddWithValue("@RecpieId", lstRecpie.SelectedValue); 
      cmnd.Parameters.AddWithValue("@IngredientId",lstAllIngredient.SelectedValue); 
      cmnd.ExecuteScalar(); 
     } 
     PopulateRecpie(); 
    } 

    private void butToDelete_Click(object sender, EventArgs e) 
    { 
     string query = "DELETE FROM RecpieIngredient WHERE (@RecpieId , @IngredientId)[email protected] , @IngredientId "; 

     // a.Name FROM Ingredient a INNER JOIN RecpieIngredient x ON a.Id = x.IngredientId INNER JOIN Recpie m ON m.Id=x.RecpieId WHERE m.Id=" + index; 
     using (connection = new SqlConnection(connectionString)) 
     using (SqlCommand cmnd = new SqlCommand(query, connection)) 
     { 
      connection.Open(); 

      cmnd.Parameters.AddWithValue("@RecpieId", lstRecpie.SelectedValue); 
      cmnd.Parameters.AddWithValue("@IngredientId", lstAllIngredient.SelectedValue); 

      cmnd.ExecuteNonQuery(); 

     } 
     PopulateRecpie(); 
    } 
+1

任意のSQLを検索してくださいチュートリアルどのようにDELETEステートメントを書くには – Steve

+0

最初に任意のチュートリアルから学ぶ、それはあなたの時間と時には人生を保存します。 –

答えて

2

このようになります。

INSERT INTO RecpieIngredient VALUES (@RecpieId,@IngredientId) 

が本当にの省略形です

INSERT INTO RecpieIngredient (RecpieId, IngredientId) VALUES (@RecpieId, @IngredientId) 

DELETE文は、このような速記バリアントを持っている、と明示的にカラム名を言及する必要がありません。

DELETE FROM RecpieIngredient WHERE RecpieId = @RecpieId AND IngredientId = @IngredientId 

あなたはしかし、問題を自分で固定に非常に近い来た:)

+0

情報ありがとうございました^^、でも問題はまだ解決していませんが、 –

0

あなたは文が間違っている削除することが

string query = "DELETE FROM RecpieIngredient 
         WHERE RecpieId = @RecpieId 
         AND IngredientId = @IngredientId"; 
関連する問題