怎样在内存里面生成一个临时表呀?就是这个表不记录在物理硬盘上,只是在内存里面存在(100分)

  • 主题发起人 主题发起人 kapi
  • 开始时间 开始时间
K

kapi

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在内存里面生成一个临时表呀?就是这个表不记录在物理硬盘上,只是在内存里面存在,
 
TClientDataSet
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=478936
 
永久字段、计算字段等形成的表就是零时表
 
//为记录复制建立临时表。
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;
raise;
end
end
end;
 
SQL2K里面有个TABLE类型不知能不能满足你的要求.
 
建立一个视图Create View不就是内存表了。或者是用Create Table生成一个表也行,
再就用Adang方法 。
 
create table #tablename
。。。
不就行了,在与sql服务器断开后会自动释放
 
devmemtable from dev express
 
我在ADO中这样做一个临时数据集:
select table1.field1,table1.field2,table2.field1,table2.field2
from table1 table2
并用where条件使返回记录为0,LOCK TYPE=ltBatchOptimistic
这个临时的数据有个好处,不用定义字段。
不知对你有没有帮助?
 
多人接受答案了。
 
后退
顶部