ForeignKeyConstraint 外键约束的使用及作用的学习!
2012-02-26 14:23
459 查看
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"].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中时将后无法更新和新增.
相关文章推荐
- ForeignKeyConstraint 外键约束的使用及作用的学习[转]
- ForeignKeyConstraint 外键约束的使用及作用的学习!
- ForeignKeyConstraint 外键约束的使用及作用的学习!
- MySql 外键约束 FOREIGN KEY REFERENCES 之 空、RESTRICT、NO ACTION、CASCADE、SET NULL 等类型分析和作用解读
- 无法添加外键约束的原因(cannot add foreign key constraint)
- mysql Error : Cannot truncate a table referenced in a foreign key constraint 清空具有外键约束的表时报
- mysql无法添加外键约束(cannot add foreign key constraint)
- MySQL表中有外键约束时级联删除报错annot delete or update a parent row: a foreign key constraint fails
- mysql中添加外键约束失败(cannot add foreign key constraint)
- mysql无法添加外键约束(cannot add foreign key constraint)
- 解决django使用sqlite3的外键约束没作用及配置mysql库
- mysql添加外键失败:sql 1452 Cannot add or update a child row:a foreign key constraint fails
- mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
- mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
- Cannot add or update a child row: a foreign key constraint fails 无法添加外键
- 外键记录有存在,插入数据却报错a foreign key constraint fails
- mysql启动和关闭外键约束的方法(FOREIGN_KEY_CHECKS)
- MySQL中创建外键的错误:1215 Cannot add the foreign key constraint
- MySQL添加外键时报错:1215 Cannot add the foreign key constraint的解决方法
- 刷新数据库总是报错:不能增加或者更新约束, Cannot add or update a child row: a foreign key constraint fails