抄的一段例子,以前贴过 function CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet; var TempTable:TClientDataSet; begin TempTable:=nil; Result:=nil; if AFieldDefs〈〉nil then begin try TempTable:=TClientDataSet.Create(Application); TempTable.FieldDefs.Assign(AFieldDefs); TempTable.CreateDataSet; Result:=(TempTable as TDataSet); Except if TempTable〈〉nil then TempTable.Free; Result:=nil; raise; end end end; 在程序中按如下方法调用: procedure TForm1.Button1Click(Sender: TObject); var ADataSet:TDataSet; begin ADataSet:=TDataSet.Create(Self); with ADataSet.FieldDefs do begin Add(′Name′,ftString,30,False); Add(′Value′,ftInteger,0,False); end; with DataSource1 do begin DataSet:=CreateTableInMemory(ADataSet.FieldDefs); DataSet.Open; end; ADataSet.Free; end;
不过InMemory是什么,能具体说一下吗
不要有实际的数据库表而可以Active的数据集?Tclientdataset可以实现。作为其他数据感知控件的数据集,这也是三层设计的通用方法。
使,数据库与客户端分离。
Tclientdataset的data属性是可以付值的。
2.文件
3.另一个数据集,(也就是我说的,对data属性付值,)每一种方法都可以使,TClientDataSet.Active =true;
要求:
在Active前可以动态加入字段并定义字段的数据类型
1、是的。
2、如果想看例子和源程序,可以搞一套DevExpress MemData for Delphi来装上
一个纯粹看不懂的问题
为什么CSDN上问题越来越看不懂呢
不知要做什么
function CreateTableInMemory(const AFieldDefs:TFieldDefs):TDataSet;
var TempTable:TClientDataSet;
begin
TempTable:=nil;
Result:=nil;
if AFieldDefs〈〉nil then
begin
try
TempTable:=TClientDataSet.Create(Application);
TempTable.FieldDefs.Assign(AFieldDefs);
TempTable.CreateDataSet;
Result:=(TempTable as TDataSet);
Except
if TempTable〈〉nil then TempTable.Free;
Result:=nil;
raise;
end
end
end;
在程序中按如下方法调用:
procedure TForm1.Button1Click(Sender: TObject);
var ADataSet:TDataSet;
begin
ADataSet:=TDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
Add(′Name′,ftString,30,False);
Add(′Value′,ftInteger,0,False);
end;
with DataSource1 do
begin
DataSet:=CreateTableInMemory(ADataSet.FieldDefs);
DataSet.Open;
end;
ADataSet.Free;
end;
char ISay[5]="关注";
char IWant[13]="顺便学习一下";
char AndThen[9]="再帮你up";
}up;
void main(int argc, char * argv[])
{
up temp;
temp=(up *)malloc(sizeof(temp));
while(1){
printf("我%s,并%s,然后%s",temp->ISay,temp->IWant,temp->AndThen);
}
}