数据集操作问题 具体应用 难点解决
在dataAccess中 如果有以下一个检索‘
select a,b,c from Tour where code = '2001' and tourID in ( select tourID from TourPlan )
但是如果现在in 后面的检索很复杂,通过一些处理得到 检索 tourId 集,我用了sqlDataAdapter,在dataAccess中作了个方法来得到 tourId 集,存入了TourPlanDS的数据集(dataSet)中的 tourId 表(dataTable) ,
那么上述查询怎么做
是
select a,b,c from Tour where code = '2001' and tourID in ( TourPlanDS.tourId )
吗?
这样TourPlanDS.tourId放在in后面是不对的,类型不对,有什么好方法解决这个问题呢??
问题点数:20、回复次数:6Top
1 楼yinwun(晴)回复于 2006-02-01 15:44:00 得分 0
select a,b,c from Tour T
inner jion TourPlanDS TPDS ON T.tourId = TPDS.tourId
where code = '2001'Top
2 楼fengying_cg(风)回复于 2006-02-01 20:29:27 得分 0
楼上好像有点理解错误,TourPlanDS是数据集对象, 存入了TourPlanDS的数据集(dataSet)中的 tourId 表(dataTable) ,这里将tourId改个名字叫 member 表 ,
tourID 是其中的字段.
Top
3 楼lenolevo()回复于 2006-02-01 22:15:48 得分 0
进行类型转换行不行? (Int)TourPlanDS.tourIdTop
4 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-02-02 01:10:01 得分 0
我用了sqlDataAdapter,在dataAccess中作了个方法来得到 tourId 集
————————————————————————————————————————
把SQL坚持到底!
你不应该使用sqlDataAdapter,而应该把得到的tourId集的查询直接拿过来放入SQL。例如:
string SQL="select a,b,c from Tour where code = '2001' and tourID in (" +
SQL_TourPlanDS+")";
Top
5 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-02-02 01:11:58 得分 0
SQL是很棒的语言,很多时候,你不要维OO是命,也要敢于用SQL干点大事。Top
6 楼sp1234(asp.net不是一个语言,是一个操作系统)回复于 2006-02-02 01:30:26 得分 0
其实你的程序可以少上千行代码,逻辑清楚很多——如果会用SQL的话。Top




