所谓临时表,就是由你在程序中创建,在程序结束时删除的数据表;
操作和一般的表没有区别,用sql语句
创建表:create table ...
删除表:drop table ...在大型数据库系统里可以使用select ...(字段列表) into 目标表名 from 源表名 where ...语法创建一个结构和原表相同的目标表,至于是不是临时表,随你意。
你创建的表名前可以加个"#"号,这种表在你断开与数据库的连接后会被自动删除。
操作和一般的表没有区别,用sql语句
创建表:create table ...
删除表:drop table ...在大型数据库系统里可以使用select ...(字段列表) into 目标表名 from 源表名 where ...语法创建一个结构和原表相同的目标表,至于是不是临时表,随你意。
你创建的表名前可以加个"#"号,这种表在你断开与数据库的连接后会被自动删除。
解决方案 »
- 在安卓设备上截屏,获取了原始图像数据,如何转成bmp
- 关于: ADOQuery1.Parameters.ParamByName('lastName').Value := '' 后面赋值的一个问题.
- 在线等+马上结+菜鸟提问:先来先得,禁止窗口退出,两时间相减
- koda ImgEdit使用方法或者开发帮助
- 有关copyfile的问题
- 求教query中查询结果的获得~~
- sql server 建的库用delphi怎么打开?
- 使用过程的奇怪现象????快帮忙看看
- 我用delphi开发了一个service,但如何用程序代码将该service application加入到nt/2000的服务中?
- 如何在报表的结尾加入文字条款?
- Delphi 下怎么设置TAB键缩进空格数? 先谢了!
- 想改变mouse图标,用LoadCursor存在的问题.
哪位高手帮帮忙,我快急死了!!!谢谢!
procedure TForeshow.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;
dbgrid1.Columns[0].FieldName:='name';
dbgrid1.Columns[1].FieldName:='value';
datasource1.DataSet.Open;
adataset.Append;
adataset.FieldByName('name').asstring:='aaa';
adataset.FieldByName('value').value:=10;
adataset.Post;
adataset.Free;
end;function Tforeshow.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;
Adataset:=datasource1.dataset;