• 全部
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

一个显示字段的问题

sunxking 2002-04-15 09:30:50
我用如下代码,实现输出到dbgrid时,屏蔽掉id1字段:
dm.query1.SQL.Add('select id1,gid as 货号,label as 品牌,gname as 品名,gcolor as 颜色,unit as 单位,retail as 零售价,svalue as 结算价 ');
dm.query1.SQL.Add('from goods order by gid');
dm.query1.Open;
dm.query1.FieldByName('id1').Visible:=false; //111
如果在与dbgrid的同一窗体执行的话,没问题
但是在其他窗体执行时,总是在我标了111的那一句出错,
出错原因是说找不到id1字段。
如何解决,是说了马上就给分
...全文
13 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
sunxking 2002-04-17
to ghyghost(我要求delphi能理解我的心情)
呵呵,同感!!!来握握手
留个qq如何,我就是想认识这样的朋友了,
其实,问题我已经解决了,等这位朋友留了qq我就散分了
回复
sunxking 2002-04-17
还是发短信给我把,我结账了
回复
sunxking 2002-04-16
在哪可以下载?
回复
rqcong 2002-04-16
谢谢
回复
干嘛遇到问题就去找三方控件,这不是我的个性。
回复
qhf503 2002-04-16
只要把ID1设为query1固定字段就可以了
回复
gs571 2002-04-15
用wwdbgrid.啊好处理的!
回复
sunxking 2002-04-15
to fyje(冬原)
我试了,不行!
我把实际环境描述一下吧:
我有两个form,form1上面有dbgrid和添加按键,另一个是按了添加后调用的form2,可以添加用户资料,按了form2上的确定后,提交资料到数据库中,然后就form2.close的事件中添加代码:
with form1.query1 do
begin
close;
sql.clear;
dm.query1.SQL.Add('select id1,gid as 货号,label as 品牌,gname as 品名,gcolor as 颜色,unit as 单位,retail as 零售价,svalue as 结算价 ');
dm.query1.SQL.Add('from goods order by gid');
information.DBGrid1.DataSource.DataSet.FieldByName('id1').Visible:=false;
open;
end;
这时就会出错!

但是,我再form1的show事件中,有同样的代码,就不会出错,这是为什么呢?
对了,我用的控件全是ado的。
回复
sunxking 2002-04-15
to yguoping(晴天)
清空了,就是dm.query1.FieldByName('id1').Visible:=false;
这句会出错
不过只是在不同的窗口的情况下(也就是说和要显示的dbgrid在同一form)
如果在不同的form调用这一句就会出错,出错信息就是说找不到id1字段。
回复
fyje 2002-04-15
其他窗体打开时可能用到id1字段了,由于你的字段id1在与dbgrid同窗体的话已经设置为不可见,所以就找不到了,考虑在打开其他窗体时,将他的visible设为true

回复
sunxking 2002-04-15
可能是我表达能力实在不强吧,呵呵
就是说:
dm.query1.FieldByName('id1').Visible:=false;
的用法有什么限制?
回复
yguoping 2002-04-15
清空了没有?
dm.query1.clear
回复
Liusp 2002-04-15
不太明白你的意思,你能说说错误信息吗?
回复
相关推荐
发帖
Delphi
创建于2007-08-02

4875

社区成员

Delphi 开发及应用
申请成为版主
帖子事件
创建了帖子
2002-04-15 09:30
社区公告
暂无公告