反正分多.虽然问题简单.再用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);