0

したがって、次のフィールドを持つ4つのテーブルがあります

Student_Master
---------------------
Student id(Primary Key)
Student Name
Class Id
Document Upload

Student Marks
------------
Marks_Id
Student_Id(Foreign Key)
Subject_ID(Foreign Key)
Marks

Subject
-----------
Subject ID
Subject Name

Class
----------
Class ID
Class Name

そして、ページ上の私のフォームには次のフィールドがあります:

Student Name
Class
Subject
Marks
Doc Upload

値を複数のテーブルに挿入する方法と、それらの間に外部キー参照がある.プロジェクトはASPにあり、SQL Serverを使用しています

4

3 に答える 3

1
First Try starting inserting the values from the parent table and then move to the secobdary tables.
Student_Master and Subject would be the parents to Student_Marks
于 2013-08-26T05:29:09.070 に答える
0

主キーが定義されている親テーブルに最初に挿入します。その後、制約に準拠している限り、子テーブルと関連のないテーブルを自由に埋めることができます。私が知る限り、Student_Master と Subject は Student_Marks の親になります。

フォームからデータベースに書き込む方法を尋ねている場合は、調査が必要です。これを達成するために必要な ADO.NET とクラス/オブジェクトを調べてください。

何をするにしても、ユーザーの値から SQL をまとめて断片化 (インライン SQL) しないでください。パラメータ化されたストアド プロシージャを使用します。

于 2012-09-05T04:48:02.643 に答える
0

パラメータ「Student Name、Class、Subject、Marks、Doc Upload」を受け入れるストアド プロシージャを作成できます。最初にテーブル「クラス」にデータを挿入すると、SCOPE_IDENTITY() は最後に挿入された ID 値を返します。同じものを変数に挿入し、「Student_Master」テーブルに挿入します。他のテーブルについても同様です。クエリは次のようになります。

Declare @Scope_Class INT
INSERT INTO Class ([Class Name]) VALUES ('Class 1')
SET @Scope_Class =SCOPE_IDENTITY()
INSERT INTO Student_Master ([Student Name], [Class Id], [Document Upload]) VALUES ('Stud 1' , @Scope_Class, 'Doc 1')
于 2012-09-05T05:53:31.783 に答える