CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

小问题-大分数(不够再加)

楼主linqiu6(小秋)2002-05-18 13:51:20 在 Delphi / VCL组件开发及应用 提问

大家都知道在field-editer中可以增加数据源中所有的字段对象,并且可以追加新的字段,以便产生计算字段和查找字段,但是这些者是通过field-editer完成的。现在由于我的数据源是动态通过SQL产生的.所以我想在代吗中增加数据源中所有的字段对象,并且可追加新的字段,(达到象field-editer中那样的效果),是否可以实现???  
  我现在的问题是无法在代吗中增加新的字段,(然后使用选则原字段目标字段,和结果字段的功能),如果在代码中无法动态实现追加新的字段,那我如何动态实现以上的功能???  
   
  问题点数:100、回复次数:13Top

1 楼zhangpeigao(东部一绝)回复于 2002-05-18 14:07:38 得分 0

可以通过重组select   语句中的字段数  
  如:select   AAA,BBB,CCC,AAA+BBB   DDD   from   table1Top

2 楼sogh(青山之音)回复于 2002-05-18 14:10:40 得分 0

我也想要这个功能,热切关注!Top

3 楼linqiu6(小秋)回复于 2002-05-18 14:11:15 得分 0

除了select   ******   from   以外,我想知道field-editer中的add-new是哪里来的???Top

4 楼rabbitisme(玥。小蓝相信真爱)回复于 2002-05-18 14:13:30 得分 0

关注Top

5 楼zhangpeigao(东部一绝)回复于 2002-05-18 14:18:40 得分 0

field-editer中的字段可以通过预先的SQL语句再add.allfield  
  当然也可以一个个add-new,这样子你就可以用到字段级的事件了  
  如:onsettext,ongettext等,还有add-new可以是一个计算字段  
  或浏览字段,浏览字段可以通过另TTable,或已打开的TQuery.  
  Top

6 楼zhangpeigao(东部一绝)回复于 2002-05-18 14:27:36 得分 0

可以预先在SQL中加语句,再用field-editer中的add-allfield  
  也可以一个个加,这样子你可以用字段级的onsettext和ongettext  
  等事件,也可以利用displaylabel属性(写中文名),但好象不能  
  在运行时动态加。也可以增加计算字段或浏览字段(从另Ttable或TQuery  
  中lookup来)Top

7 楼linqiu6(小秋)回复于 2002-05-18 14:31:41 得分 0

补充:  
      不要使用field-editer!!!还有其它方法吗?Top

8 楼zhangpeigao(东部一绝)回复于 2002-05-18 14:39:54 得分 0

动态创建一张临时表,将查询计算的值  
  往表中加,最后删除临时表(drop)  
  或则可以的话改用Tstringgrid,这样可以避免很多东西Top

9 楼BossHawk(BossHawk)回复于 2002-05-18 14:48:53 得分 0

应该可以创建TField吧,就是说用代码实现field-editer的功能,你仔细查一下帮助,查一下你用的TQuery什么的使用帮助Top

10 楼linqiu6(小秋)回复于 2002-05-18 14:52:53 得分 0

补充:  
      我用的是TADODataSet,我查过了有一个这样的function  
      dateset.fields.add(新字段名),但是就是不行.sos.sos.sosTop

11 楼man8888(北京男人)回复于 2002-05-18 16:25:19 得分 0

用field-editer   生成几个字段,看源代码都有什么内容。然后模仿写代码。Top

12 楼kyee(浪子阿鹏)回复于 2002-05-18 17:45:37 得分 0

同意   bosshawk(BossHawk)   的方法。Top

13 楼linqiu6(小秋)回复于 2002-05-20 09:16:15 得分 0

这样我实现不了,如果上面的兄弟可能做到的话,能放出代码给我看一下吗??Top

14 楼sagosago()回复于 2002-06-18 13:44:39 得分 100

with     DefaultFieldClasses[TFieldType(ftString)].Create(Qry)     do    
   
     
                  begin    
   
     
                          FieldKind     :=     fkLookup;    
   
     
                          Lookup:=true;    
   
     
                          FieldName     :=     'test';    
   
     
                          KeyFields     :=     'ID';    
   
     
                          LookupDataSet     :=Qry;    
   
     
                          LookupKeyFields     :=     'ID';    
   
     
                          LookupResultField     :=     'NAME';    
   
     
                          Name     :=     'test';    
   
     
                  end;    
   
     
                  Qry.FieldDefs.Add('test',ftString,20,False);Top

相关问题

  • 求+-×÷24的算法(分数不够再加)
  • 关于发布、odbc的问题,分数不够可以再加!!!
  • jni 问题 急急急 分数不够可以再加
  • C/S数据库求助:分数不够可以再加
  • 字符串问题,请赐教,分数不够再加!
  • BS中的问题????急分数不够可以再加:)
  • 一个简单的问题,分数不够再加。
  • 分数不够再加,请教问题定单查询
  • 关于线程中断的问题!(分数不够再加)
  • 求汇丰面试题目,分数不够可以再加

关键词

  • 字段
  • 语句
  • 代码
  • 浏览
  • 数据
  • tquery
  • editer
  • qry
  • 追加
  • 计算

得分解答快速导航

  • 帖主:linqiu6
  • sagosago

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo