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中时将后无法更新和新增.

  • 相关阅读:
    ehcarts绘制一个可以拖动的两条曲线的效果
    bootstrap-table如何根据不同传值进行渲染
    语音播报功能
    webpack命令监测文件变化
    webpacck打包完react后引入到html文件中报错:Target container is not a DOM element...
    react app相关知识
    redux-devtools安装
    react-devtools超级简单安装教程
    react-router v3和v4区别
    foreach循环的跳出
  • 原文地址:https://www.cnblogs.com/flyant/p/4474090.html
Copyright © 2011-2022 走看看