首页 新闻 会员 周边

如何在父子表内查找数据

0
悬赏园豆:100 [已关闭问题] 关闭于 2011-03-23 08:51
代码
1 DataSet ds = new DataSet();
2 string str = "SELECT ID,姓名,性别,年龄 FROM AA ";
3 DataTable main = new DataTable();
4 main.TableName = "aa";
5 //填充main表代码略…
6 ds.Tables.Add(main);
7
8 string sel = "SELECT ID,学科,成绩 FROM BB";
9 DataTable sub = new DataTable();
10 sub.TableName = "bb";
11 //填充sub表代码略…
12 ds.Tables.Add(sub);
13
14 ds.Relations.Add("mainandsub", ds.Tables["aa"].Columns["ID"], ds.Tables["bb"].Columns["ID"]);
15
16 bindingSource1.DataSource = ds;
17 bindingSource1.DataMember = "aa";
18 bindingSource2.DataSource = bindingSource1;
19bindingSource2.DataMember = "mainandsub";
20

以上代码构建了父子表关系,我想查找学生“ID”等于23的语文成绩,如果没有对应的成绩将不显示该学生的详细信息,请问一下该怎么实现,(在BindingSource内查找,.net2.0平台)

Mr_SuperBaby的主页 Mr_SuperBaby | 初学一级 | 园豆:200
提问于:2011-02-23 17:06
< >
分享
所有回答(5)
0
int itemFound = bindingSource1.Find("ID",23);
bindingSource1.Position
= itemFound;
彭汉生 | 园豆:1233 (小虾三级) | 2011-02-24 09:14
0

可以通过联表查询啊!SELECT 成绩,姓名,性别,年龄 FROM AA as a ,BB as b where a.ID=b.ID and ID=23,然后再绑定数据在DataTable中去使用就行了!

一直在跑wu | 园豆:150 (初学一级) | 2011-02-27 09:31
你可能没看明白我的意思
支持(0) 反对(0) Mr_SuperBaby | 园豆:200 (初学一级) | 2011-03-01 12:54
0

从bindingSource1数据里面循环查找ID='23',成绩字段值,没有的成绩的话,从bindingSource1进行删除

xiaomei_1202 | 园豆:305 (菜鸟二级) | 2011-02-28 15:46
如果我删除了,下次查询的时候岂不是要重新获取数据?
支持(0) 反对(0) Mr_SuperBaby | 园豆:200 (初学一级) | 2011-03-01 12:55
0

用视图查询

奋斗张 | 园豆:514 (小虾三级) | 2011-02-28 17:25
能不能给个例子
支持(0) 反对(0) Mr_SuperBaby | 园豆:200 (初学一级) | 2011-03-01 12:55
0

  1. z            var query1 =  
  2.                 from stu in main.AsEnumerable( )  
  3.                 from score in sub.AsEnumerable( )  
  4.                 where stu.Field<int>("ID") == score.Field<int>("ID")  
  5.                 where (int)stu["ID"] == 23 and Convert.ToString(score["学科"])=="语文"  
  6.                 select stu;  
  7.             //通过CopyToDataTable()方法创建新的副本  
  8.             DataTable newDt = query1.CopyToDataTable<DataRow>( ); 

慧☆星 | 园豆:5640 (大侠五级) | 2011-03-02 09:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册