Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > 在DataSet中建立外键约束
【标  题】:在DataSet中建立外键约束
【关键字】:at,Data,DataSet,Set,DataSet
【来  源】:网络

在DataSet中建立外键约束

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

----------------------------------------------------
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>

XML、DataSet、DataGrid结合写成广告管理程序:【上一篇】
用.NET创建定时缓存:【下一篇】
【相关文章】
  • XML、DataSet、DataGrid结合写成广告管理程序
  • ASP.NET ViewState 初探
  • ASP.NET DataGrid 控件深入研究
  • (ASP.NET)修改和删除DataGrid行——数据库访问
  • 用.net静态变量取代Application
  • Javascript实例教程(21) OLE Automation(3)
  • Javascript实例教程(21) OLE Automation(4)
  • Javascript实例教程(21) OLE Automation(5)
  • Javascript实例教程(21) OLE Automation(6)
  • Javascript实例教程(21) OLE Automation(7)
  • 【随机文章】
  • VC6的MFC应用中集成COM的一个小问题
  • 硬盘主引导程序剖析
  • 有问题需要高手帮忙啊!
  • Linux 指令篇:磁片工具--mformat
  • Advanced SWT Widegt 1st
  • 第十八课:函数
  • 文本.日期显示乱码
  • MSGBOX返回值
  • 字符串函数(一)
  • 关于如何整理句料和词库
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.