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

  • 相关阅读:
    MyMacro
    CConfigXmlFile02
    “十步一杀” 干掉你的职场压力
    只有聪明人才悟到:通向成功的饥饿法则
    高层管理者应具备什么样的特点? (转)
    两个小故事,告诉你不可不知的成功密码
    中秋望月
    锦里中秋有感
    支招:如何增强创业信心,克服创业恐惧?
    创业者必看:创业得出的10条血泪经验
  • 原文地址:https://www.cnblogs.com/flyant/p/4474090.html
Copyright © 2011-2022 走看看