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=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 如何写条件??
如果解决,就马上接贴了...
解决方案 »
- C#写二进制文件后读出来乱码求解
- 如何利用C#获取POST数据【不是POST数据,而是获取POST数据】
- 我用C#写了个UDP测试程序,在VS2008下运行很好,而脱离开发环境运行就接收不到UDP
- dotNetCharting的问题
- Ext.Window 怎么设置他在一定时间后自动关闭呢?
- 急,datalist绑定图片
- 怎样将本地文件夹机器里面的内容拷贝到另外一台机器上
- 我找了一个验证码代码,但是不知道怎么设置button的后台要实现点击它后自动验证所输入的与系统生成的验证码是否相同
- 在C#中如何用textbox控件边输入边提示功能啊?
- vs.net2003于vs.net2002有嘛区别啊,除了多了j#外?
- 求助一个winform中超连接的问题
- 强制类型转换
取得USER_AREA到字符串strUserArea
DataSet2.Select("USER_AREA='"+strUserArea+"'")
如果得到的表数据为0 跳过
如果>0则做合并操作
//准备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());
}
{
//生成两个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);
DataSet ds1 = new DataSet();
DataSet ds2 = new DataSet();
sda1.Fill(ds1, "student1");
sda2.Fill(ds2, "student2"); //定义一个DataTable
DataTable dt = new DataTable("student");
DataColumn colume = new DataColumn();
colume.DataType = Type.GetType("System.String");
colume.ColumnName = "Name";
dt.Columns.Add(colume); colume = new DataColumn();
colume.DataType = Type.GetType("System.Int32");
colume.ColumnName = "Age";
dt.Columns.Add(colume); //遍历
foreach (DataRow row1 in ds1.Tables["student1"].Rows)
{
DataRow[] rows = ds2.Tables["student2"].Select("sno=" + row1["sno"].ToString());
if (rows.Length > 0)
{
DataRow row = dt.NewRow();
row["Name"] = row1["sname"];
row["Age"] = rows[0]["sage"];
dt.Rows.Add(row);
}
} //测试
foreach (DataRow row in dt.Rows)
{
Console.WriteLine(row["Name"].ToString() + "\t" + row["Age"].ToString());
}
}
ds2存储sno,sage然后根据sno作查询,得到sname和sage存储到新建的DataTable中..