1

これらは 3 つのテーブルです。新しいレシピを食卓に加えたい。RecipeName と Method を入力できる画面が表示され、ドロップダウン メニューから 3 つの材料を選択できます。C# を使用してビジュアル スタジオで asp.net を使用しています。

したがって、ユーザーがすべてのフィールドに入力すると、RecipeName と Method が Recipes テーブルに追加されます。次に、レシピに属する材料を IngredientRecipe テーブルに追加する必要があります。

この自動インクリメントにより RecipeId がわからないため、このクエリをどのように記述すればよいでしょうか?

レシピ

RecipeId     RecipeName                Method
1            Bacon and Brocilli        Bake the bacon and cook the brocolli
2            Rice with chicken         Cook the rice and bake the chicken
4            Potato and Carrot         Cook the potatoes and the carrots
6            Rice Chicken and Carrot   Cook everything

材料

IngredientId     IngredientName       IngredientCategorie
2                Bacon                3
3                Brocolli             2
4                Potato               1
5                Chicken              3
6                Carrot               2
7                Rice                 1

材料レシピ

RecipeUniqueID   RecipeId    IngredientId
1                   1         2
2                   1         3
3                   2         5
4                   2         7
5                   4         4
6                   4         6
7                   1         4
8                   2         6
9                   4         2
10                  6         7
11                  6         6
12                  5         5
4

4 に答える 4

3

最初にレシピと材料を保存して有効な ID を取得してから、関連付けを保存します。

于 2013-05-20T03:44:50.280 に答える
0

SQL Server 2005 以降を使用していると仮定するとOUTPUT、INSERT ステートメントで句を使用できます。OUTPUT 句は、挿入された行について必要な情報を返します。

このOUTPUT句は、SCOPE_IDENTITYまたはIDENT_CURRENT INSERT ステートメントで OUTPUT 句を使用する方法については、こちらを参照してください

このStackoverflowスレッドの SCOPE_IDENTITY 、 @@IDENTITY に対する OUTPUT 句の利点についての非常に良い説明も参照してください

于 2013-05-20T04:26:44.007 に答える
0

レシピを追加したら、SCOPE_IDENTITYまたはOUTPUT句を使用して新しい RecipeID を取得する必要があります。

参照:挿入された行の ID を取得する最良の方法は?

于 2013-05-20T04:10:12.377 に答える
0

次のようなものを試してください

ストアド プロシージャを呼び出してレシピを挿入する

SP コード 挿入レシピ Start レシピへの挿入 値('','') select @Scope_Identity() // これにより、最後に自動インクリメントされた値が返されます。これがレシピ ID になります。挿入レシピ End の SP コード

レシピ ID を取得したら、それを渡して、レシピと材料をマッピングできます。

お役に立てれば

于 2013-05-20T04:52:00.517 に答える