网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET实例
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用ASP.NET 2.0设计网络在线投票系.
.ASP.NET中树形图的实现.
.检测是否还有黑客代码的asp.net函.
.ASP.NET的实时天气及24小时天气预.
.保存美丽记忆 用ASP.NET创建网络.
.asp.net URL重写(URLRewriter).
.设计ASP.NET新闻管理系统.
.将上传图片打上防伪图片水印并写.
.用C#编写发手机中文短信息Window.
.用asp.net画饼图(可用于各种投票.
.ASP.Net+XML打造留言薄.
.用Asp.net实现基于XML的留言簿之.
.通过ASP.NET页面重启服务器.
.基于asp.net的webmenu的数据操作4.
.用Asp.net实现基于XML的留言簿之.
.自己写的一个图形验证码页面(Asp.
.隨心所欲產生圖案.
.如何实现站点的RSS输出.
.asp.net 上传大文件控件.
.使用net classes访问其他网站内容.

在DataSet中建立外键约束

发表日期:2003-12-29


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

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

上一篇:用.NET创建定时缓存 人气:9712
下一篇:使用ASP.NET加密口令 人气:11777
浏览全部DataSet的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐