《拓文asp.net网站内容管理系统》官方演示站。
 设为首页  
 收藏本站
 作者:黄振安
 QQ:53854651
首 页 开源拓文.NET编程网站编程网页设计图形图像数据库软件工程留言本
    站内搜索:  
您现在的位置: 拓文网络 → .NET编程 → ASP.NET → 在DataSet中建立外键约束[正文]

热 门 文 章

相 关 文 章
  • ASP.NET性能优化
  • 在.NET框架应用程序中发送电子邮件
  • .net打包自动安装数据库
  • asp.net开发wap必备:更好的匹配手机设备
  • 用ashx动态生成文件
  • windows 2003下asp.Net站点无法使用用户名+密码的方
  • ASP.NET中17种正则表达式
  • 提高ASP.Net应用程序性能的十大方法
  • 一个通过web.Mail发送邮件的类
  • 在DataGrid里面根据日期的不同显示new图标
  • 在DataSet中建立外键约束
     
    [作者:不详    转贴自:不详    点击数:    更新时间:2006-3-2 15:48:23]

     

    程序可以直接拿来使用,运行通过。

    ----------------------------------------------------
    testconstraint.aspx
    ----------------------------------------------------

    <%@ Page Language="c#" debug="true" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>

    <html>
    <head>
    <script language="c#" runat="server">
    public DataSet ds;
    void Page_Load(Object sender,EventArgs e)
    {
        if(!IsPostBack)
        {
            SqlConnection myConnection = new SqlConnection("server=(local);database=northwind;Trusted_Connection=yes");
            SqlDataAdapter myDataAdapter1=new SqlDataAdapter("select * from suppliers",myConnection);
            SqlDataAdapter myDataAdapter2=new SqlDataAdapter("select * from products",myConnection);

            ds=new DataSet();
            myDataAdapter1.Fill(ds,"suppliers");
            myDataAdapter2.Fill(ds,"products");

            MyDataGrid.DataSource=ds.Tables["suppliers"].DefaultView;
            MyDataGrid.DataBind();
            MyDataGrid2.DataSource=ds.Tables["products"].DefaultView;
            MyDataGrid2.DataBind();
        }
    }

    void MyDataGrid_Delete(Object sender,DataGridCommandEventArgs e)
    {
        String conn="server=(local);database=northwind;Trusted_Connection=yes";
        String selectCommandText1="select * from suppliers";
        String selectCommandText2="select * from products";

         SqlDataAdapter myDataAdapter1=new SqlDataAdapter();
        myDataAdapter1.SelectCommand=new SqlCommand();
        myDataAdapter1.SelectCommand.CommandText=selectCommandText1;
        myDataAdapter1.SelectCommand.Connection=new SqlConnection(conn);

        SqlDataAdapter myDataAdapter2=new SqlDataAdapter();
        myDataAdapter2.SelectCommand=new SqlCommand();
        myDataAdapter2.SelectCommand.CommandText=selectCommandText2;
        myDataAdapter2.SelectCommand.Connection=new SqlConnection(conn);

        ds=new DataSet();
        myDataAdapter1.Fill(ds,"suppliers");
        myDataAdapter2.Fill(ds,"products");

        CreateConstraint();

        int index=(int)e.Item.ItemIndex;
        ds.Tables["suppliers"].Rows[index].Delete();
        ds.Tables["suppliers"].AcceptChanges();

        myDataAdapter1.Update(ds,"suppliers");
        
        MyDataGrid.DataSource=ds.Tables["suppliers"].DefaultView;
        MyDataGrid.DataBind();

        MyDataGrid2.DataSource=ds.Tables["products"].DefaultView;
        MyDataGrid2.DataBind();
    }

    void CreateConstraint()
    {
        DataColumn parentColumn,childColumn;
        ForeignKeyConstraint myForeignKeyConstraint;

        parentColumn = ds.Tables["suppliers"].Columns["supplierID"];
        childColumn = ds.Tables["products"].Columns["supplierID"];
        myForeignKeyConstraint = new ForeignKeyConstraint("SupplierForeignKeyConstraint", parentColumn, childColumn);

        myForeignKeyConstraint.DeleteRule = Rule.Cascade ;
        myForeignKeyConstraint.UpdateRule = Rule.Cascade ;
        myForeignKeyConstraint.AcceptRejectRule = AcceptRejectRule.Cascade ;

        ds.Tables["products"].Constraints.Add(myForeignKeyConstraint) ;
        ds.EnforceConstraints =true ;
    }

    </script>
    </head>
    <body>
    <form runat="server">
    <ASP:DataGrid id="MyDataGrid" runat="server"
          Width="800"
          BackColor="#ccccff"
          BorderColor="black"
          ShowFooter="false"
          CellPadding=3
          CellSpacing="0"
          Font-Name="Verdana"
          Font-Size="8pt"
          HeaderStyle-BackColor="#aaaadd"
          OnDeleteCommand="MyDataGrid_Delete"
          DataKeyField="supplierid"
        >

    <Columns>
             <asp:ButtonColumn Text="Delete Employee" CommandName="Delete"/>
          </Columns>

    </ASP:DataGrid>

    <hr>
    <ASP:DataGrid id="MyDataGrid2" runat="server"
          Width="800"
          BackColor="#ccccff"
          BorderColor="black"
          ShowFooter="false"
          CellPadding=3
          CellSpacing="0"
          Font-Name="Verdana"
          Font-Size="8pt"
          HeaderStyle-BackColor="#aaaadd"
        />

    </form>
    </body>
    </html>


    首页 | 1 | 尾页  共 1 页
     
    winner 打印本页 关闭窗口

         文 章 评 论
    评论人 查看该文章的评论 发表时间
       笔 名* : 0 50分 60分 70分 80分 90分 100分
    评论内容 *: (最多1000字。当前字数:0)


    没有相关评论,欢迎您参与!

    - 关于本站 - 网站帮助 - 下载声明 - 友情连接 - 网站地图 -
    Copyright © 2005-2006 myTopWin.Com. All Rights Reserved . [桂ICP备06004496号]