为什么显示找不到字段信息?(100分)

  • 主题发起人 主题发起人 flyman1
  • 开始时间 开始时间
F

flyman1

Unregistered / Unconfirmed
GUEST, unregistred user!
我按照一书例将一tquery的sql设为如下
select UserID,UserName,TrueName
from user
where not exists(
select GroupID
from Members
where (members.UserID=users.UserID) and (members.GroupID=:GroupID))
group by UserName,TrueName,UserID
tquery的databasename为dsGroup,dsGroup的dataset为tbGroup,tbGroup对应的group中包含有GroupID字段(为autoincrement类型),但members中的GroupID字段(为shortint类型)。tquery的active可设为true,在dsGroup的active设为true时;与tquery连接的dbgrid显示UserName,TrueName,UserID三列。
但每次执行程序时都显示tbGroup:field'GroupID' not found的提示信息,tquery的active变为false,请问各位大侠是何原因,该如何解决?
 
是不是Members表中没有GroupID字段啊!
 
可能是参数 :GroupID从缺省表的字段无法获取。
 
1、在调用TQUERY的OPEN时要先对GROUPID参数赋值;
2、可以把 select GroupID
from Members
where (members.UserID=users.UserID) and (members.GroupID=:GroupID)
单独作为一个语句测试一下
 
多人接受答案了。
 
后退
顶部