关于TClientDataSet创建动态表的问题 Delphi / Windows SDK/APIhttp://www.delphi2007.net/DelphiNetwork/html/delphi_20061212115522141.html
一般步骤:
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吗?