// 创建DataSet
DataSet myDataSet = new DataSet();
//string connStr = Properties.Resources.ConnectionString;
OleDbConnection conn = new OleDbConnection(_OLEDB);
DataTable[] myDataTables = new DataTable[3];
myDataTables[0] = new DataTable("MF_PSS");
myDataTables[1] = new DataTable("TF_PSS");
myDataTables[2] = new DataTable("TF_PSS_RCV");
//创建DataTable
myDataSet.Tables.Add(myDataTables[0]);
OleDbCommand cmd1 = new OleDbCommand(Constants.TxtSql, conn);
OleDbDataAdapter oleAdapter1 = new OleDbDataAdapter(cmd1);
oleAdapter1.Fill(myDataSet.Tables[0]);
//为Table 添加数据
myDataSet.Tables.Add(myDataTables[1]);
OleDbCommand cmd2 = new OleDbCommand(Constants.TxtSql1, conn);
OleDbDataAdapter oleAdapter2 = new OleDbDataAdapter(cmd2);
oleAdapter2.Fill(myDataSet.Tables[1]);
myDataSet.Tables.Add(myDataTables[2]);
OleDbCommand cmd3 = new OleDbCommand(Constants.TxtSql2, conn);
OleDbDataAdapter oleAdapter3 = new OleDbDataAdapter(cmd3);
oleAdapter3.Fill(myDataSet.Tables[2]);
//创建 “DataRelation”
DataRelation RelPSS = new DataRelation("TF_PSS_MF", myDataSet.Tables[0].Columns["PS_NO"],
myDataSet.Tables[1].Columns["PS_NO"]);
DataRelation RelRCV = new DataRelation("TF_PSS_RCV", myDataSet.Tables[0].Columns["PS_NO"],
myDataSet.Tables[2].Columns["PS_NO"]);
myDataSet.Relations.Add(RelPSS);
myDataSet.Relations.Add(RelRCV);
以上是我在后台创建的关系,是三张表的关联关系
在取值页面创建的取值关系是这样
TF_PSS_RCV.MF_PSS表中的字段
TF_PSS_RCV.TF_PSS_MF.TF_PSS表中的字段
TF_PSS_RCV表中的字段
分别是按照以上三种来取, 现在经过调试TF_PSS_RCV.TF_PSS_MF.TF_PSS表中的字段 这一部分是取不到值的
并且我还有疑问你们这个工具中一个父表下的两个子表之间不能相互访问吗?
由于我这边写的Demo涉及面多了一点, 没办法分离,所以发不上来。请谅解!
如果上面我提供的信息也不足够让你们判断的话,我稍后补充一个Demo发上来。
|