我的问题是:在delphi里用ADO连接oracle进行数据查询,需要建立一个临时表以便从中取得数据,怎么用代码实现?欢迎指导^_^
解决方案 »
- 请问高手:部分电脑上运行时出现“Access violation at 006A1E66 in module 'JhBuyer.exe'. Read of address 00000020”是什么原因
- 连接ORACLE数据库问题
- !!大家帮忙看看,要用到rtl70.bpl这个,是什么问题??
- 今天机器加内存256散分
- 招聘:开发工程师
- 求助
- 如何查看Delphi中的API定义?
- 急,我想知道别的程序的运行,如何办啊,
- 怎样在DBGridEh表格控件中实现下拉表格控件?高分快来拿
- 建议:提供一个up或gz的快捷键
- 在有几百个Form的系统里,运行Form有没有通用的方法?
- delphi 开发的客户端访问oracle数据库,如何打包
CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;
procedure TForm1.Button1Click(Sender: TObject);
begin
i:=i+1;
query1.SQL.clear;
query1.sql.add('create GLOBAL TEMPORARY table dademo (t1 integer )');//建只有一个字段名为t1(类型为整数型)的临时表dademo
query1.execsql;
query1.SQL.clear;
query1.sql.add('insert into dademo values('+inttostr(i)+')');//往临时表中加数据
query1.ExecSql;
//加完数据后,这中间你就可以对数据表进行查询,修改,删除等操作了
query1.SQL.clear;
query1.sql.Add('select * from dademo');
query1.open;
query1.active:=true;
end;
CREATE GLOBAL TEMPORARY TABLE TABLENAME (
COL1 VARCHAR2(10),
COL2 NUMBER
) ON COMMIT PRESERVE(DELETE) ROWS ;删除临时表:
drop table TABLENAME;
with datamod.ADOQuery1 do
begin
datamod.ADOQuery1.Active:=false;
datamod.ADOQuery1.Sql.Clear;
datamod.ADOQuery1.Sql.Add('CREATE GLOBAL TEMPORARY table b(名称 char(40),编号 char (40)) ON COMMIT DELETE ROWS');
datamod.ADOQuery1.ExecSQL;
datamod.ADOQuery1.Sql.Clear;
datamod.ADOQuery1.Sql.Add('insert into b(名称,编号) select 名称,编号 from 线路参数表');
datamod.ADOQuery1.ExecSQL;
{datamod.ADOQuery1.SQL.clear;
datamod.ADOQuery1.Sql.Add('select * from b');
datamod.ADOQuery1.open;
datamod.ADOQuery1.active:=true;
end;
这样执行后b表中怎么没有数据呢