H
hhi179
Unregistered / Unconfirmed
GUEST, unregistred user!
我用以下代码实现了创建与数据库没有连接的临时表:
function CTempTable(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.FormCreate(Sender: TObject);
var ADataSet:TDataSet;
begin
ADataSet:=TDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
Add('idh',ftString,20,False);Add('bm',ftstring,10,False);
Add('sl',ftInteger,0,False);
end;
with DataSource1 do
begin
DataSet:= CTempTable(ADataSet.FieldDefs);//建立临时表
DataSet.Open;
dataset.Edit;
end;
ADataSet.Free;
end;
请教各位大师:不用循环,如何复制临时表中的数据到如:ADOQuery1控件;就像ADOQuery1的clone功能一样。(意义是:检查输入的关键字段是否重复)。
先给100分,解决后再加100分。
function CTempTable(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.FormCreate(Sender: TObject);
var ADataSet:TDataSet;
begin
ADataSet:=TDataSet.Create(Self);
with ADataSet.FieldDefs do
begin
Add('idh',ftString,20,False);Add('bm',ftstring,10,False);
Add('sl',ftInteger,0,False);
end;
with DataSource1 do
begin
DataSet:= CTempTable(ADataSet.FieldDefs);//建立临时表
DataSet.Open;
dataset.Edit;
end;
ADataSet.Free;
end;
请教各位大师:不用循环,如何复制临时表中的数据到如:ADOQuery1控件;就像ADOQuery1的clone功能一样。(意义是:检查输入的关键字段是否重复)。
先给100分,解决后再加100分。