Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1222433
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-10-28 10:00:14



一般步骤:  
          var   table:TClientDataSet;  
  1.     table:=TClientDataSet.Create(application);  
  2.     table.FieldDefs.Add();   给动态表定义字段即设计表的结构    
  ...  
  3.     table.CreateDataSet;  
  4.     table.open;  
  5.     table.append;  
  6.     table.FieldByName().AsXXX:=XXX;   给字段赋值即加数据  
  ...  
  7.     table.post;  
  问题  
  一:如果from上已有TClientDataSet控件,第1步可以不要吧?  
  二:如果我用TClientDataSet.data:=XXX来给TClientDataSet加数据呢,第2步还要吗?  
  三:如果只写第3步,没写第2步的话,后面如何使用这个动态表呢?  
   
 

1)一般用ClientdataSet创建动态表是指创建内存表,所以ClientDataSet按习惯是在代码中生成的。如果使用界面上已有的控件,当然可以。  
  2)如果这样,第2、3、4步可以不要。  
  3)像一般的DataSet那样使用即可,如Edit1.text:=table.FieldByName().AsString

1.TClientDataSet.data:=XXX,这一步相当于把整个表(字段结构和具体数据)赋给了控件是吗?  
  2.没有第2步,那内存表就没有结构(没有字段定义),那么对它使用FieldByName()取的是什么?  
  3.table.CreateDataSet(nil)和table和TClientDataSet.Create(application)有什么区别,如果同时出现在程序里,那是指同一个TClientDataSet吗?



[新闻]Facebook开放Scribe源代码 改善运行效率
博客园首页 社区 新闻频道 小组 博问 网摘 闪存
阅读(1691) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~