我在SQL Server中有两个不相关的表。我想通过C#与它们建立关系,所以SQL Server中的数据库图有关系线等(代码可能有缺陷,除了缺少使用语句等,除此之外让我知道)。
到目前为止我有这个代码:
SqlConnection con = new SqlConnection("Data Source=localhost;Initial Catalog=Test;Integrated Security=SSPI");
SqlDataAdapter ad1;
SqlDataAdapter ad2;
DataSet ds = new DataSet();
DataRelation dr;
ad1 = new SqlDataAdapter("Select * from dept", con);
ad2 = new SqlDataAdapter("select * from emp", con);
ad1.Fill(ds, "dept");
ad2.Fill(ds, "emp");
DataColumn pk = ds.Tables["dept"].Columns["deptno"];
DataColumn fk = ds.Tables["emp"].Columns["deptno"];
dr = new DataRelation("rel", pk, fk, false)
ds.Relations.Add(dr);
ds.AcceptChanges();
ad1.Update(ds, "dept");
ad2.Update(ds, "emp");
当我到达这一行时:
dr = new DataRelation("rel", pk, fk, false)
我得到了这个例外:
'column'参数不能为null。 参数名称:列
是否有可能以这种方式在SQL Server中实际形成关系?
是什么给出了?
答案 0 :(得分:2)
答案 1 :(得分:0)
您在代码中声明的关系不会在数据库中结束。它只存在于你的DataSet中(至少我认为就是这种情况)。