ForeignKeyConstraint 外來鍵約束的使用及作用的學習!
阿新 • • 發佈:2019-01-25
1 da.SelectCommand.CommandText="select au_id,au_fname,au_lname from authors";
2 da.Fill(ds,"Author");
3 da.SelectCommand.CommandText="select au_id,title_id from titleauthor";
4 da.Fill(ds,"TitleAuthor");
5 da.SelectCommand.CommandText="select title_id,title from titles";
6 da.Fill(ds,"Titles ");
7 //
8 ds.Tables["Titles"].Columns["title_id"].Unique=true;
9 ds.Tables["Titles"].Columns["title_id"].AllowDBNull=false;
10 ds.Tables["Titles"].PrimaryKey=new DataColumn[]{ds.Tables["Titles"].Columns["title_id"]};
11 //
12 ds.Tables["Author"].Columns["au_id"].Unique=true;
13 ds.Tables["Author "].Columns["au_id"].AllowDBNull=false;
14 ds.Tables["Author"].PrimaryKey=new DataColumn[]{ds.Tables["Author"].Columns["au_id"]};
15 //
16 ds.Tables["TitleAuthor"].PrimaryKey=new DataColumn[]{ds.Tables["TitleAuthor"].Columns["au_id"],
17 ds.Tables["TitleAuthor"].Columns["title_id"]};
18 //定義約束19 ForeignKeyConstraint fk1=new ForeignKeyConstraint("authorstitleauthor",ds.Tables["Author"].Columns["au_id"],
20 ds.Tables["TitleAuthor"].Columns["au_id"]);
21 ds.Tables["TitleAuthor"].Constraints.Add(fk1);
22 ForeignKeyConstraint fk2=new ForeignKeyConstraint(
23 "titlestitleauthor",ds.Tables["Titles"].Columns["title_id"],
24 ds.Tables["TitleAuthor"].Columns["title_id"]);
25 ds.Tables["TitleAuthor"].Constraints.Add(fk2);
26 this.dataGrid1.DataSource=ds;
27 this.dataGrid1.DataMember="TitleAuthor";
28 29 這樣設定外來鍵之後,在DataGrid上編輯TitleAuthor中的記錄時如果編輯的記錄不在Title和Author中時將後無法更新和新增.
2 da.Fill(ds,"Author");
3 da.SelectCommand.CommandText="select au_id,title_id from titleauthor";
4 da.Fill(ds,"TitleAuthor");
5 da.SelectCommand.CommandText="select title_id,title from titles";
6 da.Fill(ds,"Titles
7 //
8 ds.Tables["Titles"].Columns["title_id"].Unique=true;
9 ds.Tables["Titles"].Columns["title_id"].AllowDBNull=false;
10 ds.Tables["Titles"].PrimaryKey=new DataColumn[]{ds.Tables["Titles"].Columns["title_id"]};
11 //
12 ds.Tables["Author"].Columns["au_id"].Unique=true;
13 ds.Tables["Author
14 ds.Tables["Author"].PrimaryKey=new DataColumn[]{ds.Tables["Author"].Columns["au_id"]};
15 //
16 ds.Tables["TitleAuthor"].PrimaryKey=new DataColumn[]{ds.Tables["TitleAuthor"].Columns["au_id"],
17 ds.Tables["TitleAuthor"].Columns["title_id"]};
18 //定義約束19
20 ds.Tables["TitleAuthor"].Columns["au_id"]);
21 ds.Tables["TitleAuthor"].Constraints.Add(fk1);
22 ForeignKeyConstraint fk2=new ForeignKeyConstraint(
23 "titlestitleauthor",ds.Tables["Titles"].Columns["title_id"],
24 ds.Tables["TitleAuthor"].Columns["title_id"]);
25 ds.Tables["TitleAuthor"].Constraints.Add(fk2);
26 this.dataGrid1.DataSource=ds;
27 this.dataGrid1.DataMember="TitleAuthor";
28 29 這樣設定外來鍵之後,在DataGrid上編輯TitleAuthor中的記錄時如果編輯的記錄不在Title和Author中時將後無法更新和新增.