110,537
社区成员
发帖
与我相关
我的任务
分享
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["cat"].ConnectionString);
con.Open();
DataSet dataset = new DataSet();
SqlDataAdapter ac = new SqlDataAdapter("select * from child",con);
SqlCommandBuilder bc = new SqlCommandBuilder(ac);
ac.Fill(dataset, "child"); //子表绑定到DataSet中
SqlDataAdapter ap = new SqlDataAdapter("select * from Parent", con);
SqlCommandBuilder bp = new SqlCommandBuilder(ap);
ap.Fill(dataset, "Parent");//父表绑定到DataSet中
DataColumn parent = dataset.Tables["Parent"].Columns["ID"];
DataColumn child = dataset.Tables["child"].Columns["ID"];
ForeignKeyConstraint fk = new ForeignKeyConstraint("f", parent, child);
fk.UpdateRule = Rule.Cascade;
dataset.Tables["child"].Constraints.Add(fk);//建立约束关系
dataset.Tables["Parent"].Rows[0]["ID"] = 3;//改变父表中ID
ap.Update(dataset, "Parent");//更新父表
ac.Update(dataset, "child");//更新子表
foreach (DataRow d in dataset.Tables["child"].Rows)
{
Console.WriteLine("{0}|{1}", d["ID"].ToString(), d["name"].ToString());
}//显示DataSet中子表的值
con.Close();