VC两张表查询查不出数据(附代码)求解

wu14245670 2009-08-18 11:44:08
小弟在这里先谢谢了
小弟最近在做这个查询
单表查询可以查出来,但是加了另外一张表单击查询后,它查询了而且SQL语句没有错,但是就是在List Control中就没显示
代码如下

CString selectWords="roomName,roomFloor,unit,roomTypeName,roomHeight,roomDirection,roomKind,attachedRoom,
attachedRoomPrice,buildArea,shareArea,balconyArea,roomCount,roomState,salePrice,roomNumber,roomPrice,saleArea,remark";//查询那些内容
CString sql="SELECT "+selectWords+" FROM roomResource where 0=0 ";//查询条件这样的查询条件可以查出来
CString sql="SELECT "+selectWords+" FROM roomResource,roomTypeResourcewhere 0=0 ";//这样就查不出来

请高手帮我看看我错在哪了
小弟谢谢了
...全文
52 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu14245670 2009-08-18
里面有数据
两个表都有数据的
回复
见习学术士 2009-08-18
可能是roomTypeResource 表没有数据。

您可以把
roomResource,roomTypeResource
改成
roomResource left join roomTypeResource on 1=1

这样就不会受roomTypeResource表影响了。
回复
wu14245670 2009-08-18
谢谢2楼的,你说的两种方法我都用过
去掉where不行,
表里字段也正确
加上select roomResource.roomTypeName,shareArea,balconyArea,roomCount这些也不行
不过还是谢谢你
回复
wu14245670 2009-08-18

少贴了一句代码
m_listHouse.SetRecordsetToGrid(sql);//SetRecordsetToGrid这个方法是写好的查询方法
回复
MoXiaoRab 2009-08-18
第一,where后面不需要0=0,直接去掉where
第二,看看你的两张表中是否有重名的列
比如roomResource,roomTypeResource中都有roomTypeName(我打个比方,假设的)

不然就得select roomResource.roomTypeName,shareArea,balconyArea,roomCount,roomState from roomResource,roomTypeResource
回复
见习学术士 2009-08-18
LZ,您可以直接在查询分析器里运行下只查询 roomTypeResource 表的 SQL ,如果有数据,那就是你那个

SetRecordsetToGrid 函数的问题了。
回复
wu14245670 2009-08-18
谢谢楼上
你说的这个我知道
我现在是roomResource表可以查询到东西
roomTypeResource 表查不出来东西
不知道为什么
不过还是很感谢你
回复
lygfqy 2009-08-18
roomResource,roomTypeResource
你这两个表有重复的字段吧,如果有重复的字段请用表别名来表示你的字段名
比如 两个表都有name字段 那么 roomResource as t1,roomTypeResource as t2
select t1.name as t1name,t2.name as t2name from roomResource as t1,roomTypeResource as t2
另外你直接这样写的后果是所有的记录进行交叉,比如你的t1表有5条记录,t2表5条记录,那么出来会是25条记录,最好自己去学习一下表的联合查询
回复
wu14245670 2009-08-18
各位大侠我找出问题的所在了
我只查询roomResource表可以查询到
但是如果只查询roomTypeResource 表
那就查不出来东西
不晓得为什么
回复
发动态
发帖子
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
社区公告
暂无公告