日期:2014-05-20  浏览次数:20859 次

反正分多.虽然问题简单.再用100分问个简单的问题.
DataSet   dataset1,dataset2;

Reservoir.BLL.Userinfo   uerinfo=new   Reservoir.BLL.Userinfo();
dataset1=uerinfo.GetList( " ");

Reservoir.BLL.Area   area=new   Reservoir.BLL.Area();
dataset2=area.GetList( " ");

两个都返回dataset,现在的问题是.

dataset1中的USER_AREA=dataset2中的id
关联后,把datase1中的USER_DEPT   和dataset2中的mc   组合起来,成一个dataset   如何写条件??


如果解决,就马上接贴了...

------解决方案--------------------
先遍历DataSet1
取得USER_AREA到字符串strUserArea
DataSet2.Select( "USER_AREA= ' "+strUserArea+ " ' ")
如果得到的表数据为0 跳过
如果> 0则做合并操作

------解决方案--------------------
帮LZ顶
------解决方案--------------------
和一楼的差不多.
------解决方案--------------------
UP
------解决方案--------------------
路过~
------解决方案--------------------
try..

DataTable.Select();

MSDN:

ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/cpref4/html/O_T_System_Data_DataTable_Select.htm
------解决方案--------------------
try{
//准备DataSet1
DataTable dt1=new DataTable();
dt1.Columns.Add( "USER_AREA ",typeof(int));
dt1.Columns.Add( "USER_DEPT ",typeof(string));
dt1.Rows.Add(1, "部门吗? ");
dt1.Rows.Add(2, "应该是有 ");
DataSet ds1=new DataSet();
ds1.Tables.Add(dt1);
//准备DataSet2
DataTable dt2=new DataTable();
dt2.Columns.Add( "id ",typeof(int));
dt2.Columns.Add( "mc ",typeof(string));
dt2.Rows.Add(1, "我们假设是一对多的关系 ");
dt2.Rows.Add(1, "其它的也可以自己扩展 ");
dt2.Rows.Add(2, "这个字段不知道是什么意思 ");
DataSet ds2=new DataSet();
ds2.Tables.Add(dt2);
//现在我们不用表了只用dataSet来接作,我们需要一个新的表来存放新的数据
DataTable dt3=new DataTable();
dt3.Columns.Add( "id ",typeof(int));
dt3.Columns.Add( "USER_DEPT ",typeof(string));
dt3.Columns.Add( "mc ",typeof(string));

//来两个视图先
DataView dv1 =ds1.Tables[0].DefaultView;
foreach(DataRowView drv1 in dv1){
DataView dv2=new DataView(ds2.Tables[0],
String.Format( "id={0} ",drv1[ "USER_AREA "]),
String.Empty,
DataViewRowState.CurrentRows);
foreach(DataRowView drv2 in dv2){
dt3.Rows.Add(drv2[ "id "],drv1[ "USER_DEPT "],drv2[ "mc "]);
}
}

//显示
foreach(DataRow dr in dt3.Rows){
Console.WriteLine( "id:{0}USER_DEPT:{1}MC:{2} ",dr[0],dr[1],dr[2]);
}



Console.WriteLine( "end ");
}
catch(Exception e){
Console.WriteLine(e.ToString());
}
------解决方案--------------------
写了个小例子,不知道是不是这个意思?

static void Main(string[] args)
{
//生成两个DataSet作为测试
SqlConnection con = new SqlConnection( "server=.;database=student;uid=sa;pwd=0421 ");
SqlDataAdapter sda1 = new SqlDataAdapter( "select sno,sname from studentDetails ", con);
SqlDataAdapter sda2 = new SqlDataAdapter( "select sno,sage from studentDetails ", con);