zoukankan      html  css  js  c++  java
  • ForeignKeyConstraint 外键约束的使用及作用的学习[转]

    原文链接

       da.SelectCommand.CommandText="select au_id,au_fname,au_lname from authors";
        da.Fill(ds,"Author");
        da.SelectCommand.CommandText="select au_id,title_id from titleauthor";
        da.Fill(ds,"TitleAuthor");
        da.SelectCommand.CommandText="select title_id,title from titles";
        da.Fill(ds,"Titles");
        //
        ds.Tables["Titles"].Columns["title_id"].Unique=true;
        ds.Tables["Titles"].Columns["title_id"].AllowDBNull=false;
        ds.Tables["Titles"].PrimaryKey=new DataColumn[]{ds.Tables["Titles"].Columns["title_id"]};
        //
        ds.Tables["Author"].Columns["au_id"].Unique=true;
        ds.Tables["Author"].Columns["au_id"].AllowDBNull=false;
        ds.Tables["Author"].PrimaryKey=new DataColumn[]{ds.Tables["Author"].Columns["au_id"]};
        //
        ds.Tables["TitleAuthor"].PrimaryKey=new DataColumn[]{ds.Tables["TitleAuthor"].Columns["au_id"],
         ds.Tables["TitleAuthor"].Columns["title_id"]};
        //定义约束
        ForeignKeyConstraint fk1=new ForeignKeyConstraint("authorstitleauthor",ds.Tables["Author"].Columns["au_id"],
         ds.Tables["TitleAuthor"].Columns["au_id"]);
        ds.Tables["TitleAuthor"].Constraints.Add(fk1);
        ForeignKeyConstraint fk2=new ForeignKeyConstraint(
         "titlestitleauthor",ds.Tables["Titles"].Columns["title_id"],
         ds.Tables["TitleAuthor"].Columns["title_id"]);
        ds.Tables["TitleAuthor"].Constraints.Add(fk2);
        this.dataGrid1.DataSource=ds;
        this.dataGrid1.DataMember="TitleAuthor";

    这样设定外键之后,在DataGrid上编辑TitleAuthor中的记录时如果编辑的记录不在Title和Author中时将后无法更新和新增.

  • 相关阅读:
    linux 系统tar文件压缩打包命令
    linux如何查看所有的用户和组信息?
    go语言之行--golang操作redis、mysql大全
    Redis集群的5种使用方式,各自优缺点分析
    docker-compose搭建redis哨兵集群
    windows版 navicat_15.0.18 安装
    redis aof数据持久化
    redis rdb数据持久化
    03.redis 事务
    02 redis 三种特殊的数据类型
  • 原文地址:https://www.cnblogs.com/flyant/p/4474090.html
Copyright © 2011-2022 走看看