如何将一DBGRID显示的记录写入一个临时表? 现有一DBGRID显示的记录是从存储过程里读出来的,我想把这些记录重新写入一临时表,请问怎么办? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 逐条写入:table1.first;while not table1.eof dobegin table2.fields[0].asstring := table1.fields[0].asstring; table2.fields[1].asstring := table1.fields[1].asstring; table2.fields[2].asstring := table1.fields[2].asstring; . . . . . table2.fields[0].asstring := table1.fields[0].asstring; table1.next; end; insert into #temptableselect(你的数据集) insert into #temptableselect(你的数据集)=====================他所说的数据集是什么啊? 我这样写,为什么不对呢?with adodm.query_jkcgj do begin screen.Cursor := crHourGlass; clOSE; sql.Clear; sql.add('CREATE TABLE #TTABLE'); SQL.ADD(' (COMPONENT VARCHAR(10),'); SQL.ADD(' COMP_DESC VARCHAR(60),'); SQL.ADD(' BUYR VARCHAR(6),'); SQL.ADD(' PT_USE VARCHAR(10),'); SQL.ADD(' SEQN VARCHAR(6),'); SQL.ADD(' QUANTITY FLOAT,'); SQL.ADD(' RUN_LT VARCHAR(6),'); SQL.ADD(' QTY_BY_LOC FLOAT,'); SQL.ADD(' ALLOCATION FLOAT,'); SQL.ADD(' INSP_QTY FLOAT,'); SQL.ADD(' ON_ORD_QTY FLOAT )'); EXECSQL; FORM_JKC.DBGrid1.DataSource.DataSet.First; // ADODM.QUERY_JKCGJ.DataSource.DataSet.First; While Not (FORM_JKC.DBGrid1.DataSource.DataSet.Eof) do begin ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[0].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[0].AsString; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[1].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[1].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[2].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[2].AsString; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[3].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[3].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[4].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[4].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[5].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[5].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[6].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[6].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[7].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[7].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[8].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[8].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[9].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[9].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[10].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[10].AsString ; FORM_JKC.DBGrid1.DataSource.DataSet.Next; // ADODM.QUERY_JKCGJ.DataSource.DataSet.NEXT; end; end; screen.Cursor := crDefault; insert into #temptableselect(你的数据集)=====================他所说的数据集是什么啊?已经很正确了你的数据集就是指你DBGRID里显示的内容(不要告诉我你不知道这些内容是哪儿来的~~)可以结帖了,你试了不行再说吧~ insert into #temptableselect(你的数据集)=====================他所说的数据集是什么啊?已经很正确了你的数据集就是指你DBGRID里显示的内容(不要告诉我你不知道这些内容是哪儿来的~~)可以结帖了,你试了不行再说吧~=================不好意思,我真是不知道“你的数据集”代码怎么写?给点提示啊,难道是写成:dbgrid1.datasoruce.dataset? 理解为sql语句: insert into 临时表 select * from 表 可能上面两位朋友没理解我的意思,我的DBGRID是从存储过程里读出的,然后要把这些记录写如临时表, 1.根据DBGrid列数动态创建临时表2.循环处理DBGrid,一条条写入临时表 1.根据DBGrid列数动态创建临时表2.循环处理DBGrid,一条条写入临时表=====================我是按这思路写的啊,但运行总提示不对我这样写,为什么不对呢?with adodm.query_jkcgj do begin screen.Cursor := crHourGlass; clOSE; sql.Clear; sql.add('CREATE TABLE #TTABLE'); SQL.ADD(' (COMPONENT VARCHAR(10),'); SQL.ADD(' COMP_DESC VARCHAR(60),'); SQL.ADD(' BUYR VARCHAR(6),'); SQL.ADD(' PT_USE VARCHAR(10),'); SQL.ADD(' SEQN VARCHAR(6),'); SQL.ADD(' QUANTITY FLOAT,'); SQL.ADD(' RUN_LT VARCHAR(6),'); SQL.ADD(' QTY_BY_LOC FLOAT,'); SQL.ADD(' ALLOCATION FLOAT,'); SQL.ADD(' INSP_QTY FLOAT,'); SQL.ADD(' ON_ORD_QTY FLOAT )'); EXECSQL; FORM_JKC.DBGrid1.DataSource.DataSet.First; // ADODM.QUERY_JKCGJ.DataSource.DataSet.First; While Not (FORM_JKC.DBGrid1.DataSource.DataSet.Eof) do begin ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[0].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[0].AsString; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[1].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[1].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[2].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[2].AsString; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[3].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[3].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[4].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[4].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[5].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[5].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[6].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[6].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[7].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[7].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[8].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[8].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[9].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[9].AsString ; ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[10].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[10].AsString ; FORM_JKC.DBGrid1.DataSource.DataSet.Next; // ADODM.QUERY_JKCGJ.DataSource.DataSet.NEXT; end; end; screen.Cursor := crDefault; 高分求解,,如何在cxGrid使用CheckBox操作与数据集无关的列呢 str:array[0..80] of string 可以这样用吗? 【只有请版主进来了,看样子这个题目真难啊】 关于D8的资料 动态多维数组和列表的问题! Access+Delphi中的模糊查询问题? 接口访问对象报错问题 请问如何在一个可执行文件运行时修改自身 Delphi应用程序安装设置问题??? 如何对日期进行模糊查询(Interbase) StringGrid1的奇怪的问题。 那里有编写ActvieX控件的学习电子资料,顶肺者有分100分哦
table1.first;
while not table1.eof do
begin
table2.fields[0].asstring := table1.fields[0].asstring;
table2.fields[1].asstring := table1.fields[1].asstring;
table2.fields[2].asstring := table1.fields[2].asstring;
.
.
.
.
.
table2.fields[0].asstring := table1.fields[0].asstring;
table1.next;
end;
select(你的数据集)
select(你的数据集)
=====================
他所说的数据集是什么啊?
with adodm.query_jkcgj do
begin
screen.Cursor := crHourGlass;
clOSE;
sql.Clear;
sql.add('CREATE TABLE #TTABLE');
SQL.ADD(' (COMPONENT VARCHAR(10),');
SQL.ADD(' COMP_DESC VARCHAR(60),');
SQL.ADD(' BUYR VARCHAR(6),');
SQL.ADD(' PT_USE VARCHAR(10),');
SQL.ADD(' SEQN VARCHAR(6),');
SQL.ADD(' QUANTITY FLOAT,');
SQL.ADD(' RUN_LT VARCHAR(6),');
SQL.ADD(' QTY_BY_LOC FLOAT,');
SQL.ADD(' ALLOCATION FLOAT,');
SQL.ADD(' INSP_QTY FLOAT,');
SQL.ADD(' ON_ORD_QTY FLOAT )');
EXECSQL;
FORM_JKC.DBGrid1.DataSource.DataSet.First;
// ADODM.QUERY_JKCGJ.DataSource.DataSet.First;
While Not (FORM_JKC.DBGrid1.DataSource.DataSet.Eof) do
begin
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[0].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[0].AsString;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[1].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[1].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[2].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[2].AsString;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[3].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[3].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[4].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[4].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[5].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[5].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[6].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[6].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[7].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[7].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[8].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[8].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[9].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[9].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[10].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[10].AsString ; FORM_JKC.DBGrid1.DataSource.DataSet.Next;
// ADODM.QUERY_JKCGJ.DataSource.DataSet.NEXT;
end;
end;
screen.Cursor := crDefault;
select(你的数据集)
=====================
他所说的数据集是什么啊?
已经很正确了
你的数据集就是指你DBGRID里显示的内容(不要告诉我你不知道这些内容是哪儿来的~~)
可以结帖了,你试了不行再说吧~
select(你的数据集)
=====================
他所说的数据集是什么啊?
已经很正确了
你的数据集就是指你DBGRID里显示的内容(不要告诉我你不知道这些内容是哪儿来的~~)
可以结帖了,你试了不行再说吧~=================
不好意思,我真是不知道“你的数据集”代码怎么写?给点提示啊,难道是写成:
dbgrid1.datasoruce.dataset?
insert into 临时表
select * from 表
2.循环处理DBGrid,一条条写入临时表
2.循环处理DBGrid,一条条写入临时表
=====================
我是按这思路写的啊,但运行总提示不对
我这样写,为什么不对呢?
with adodm.query_jkcgj do
begin
screen.Cursor := crHourGlass;
clOSE;
sql.Clear;
sql.add('CREATE TABLE #TTABLE');
SQL.ADD(' (COMPONENT VARCHAR(10),');
SQL.ADD(' COMP_DESC VARCHAR(60),');
SQL.ADD(' BUYR VARCHAR(6),');
SQL.ADD(' PT_USE VARCHAR(10),');
SQL.ADD(' SEQN VARCHAR(6),');
SQL.ADD(' QUANTITY FLOAT,');
SQL.ADD(' RUN_LT VARCHAR(6),');
SQL.ADD(' QTY_BY_LOC FLOAT,');
SQL.ADD(' ALLOCATION FLOAT,');
SQL.ADD(' INSP_QTY FLOAT,');
SQL.ADD(' ON_ORD_QTY FLOAT )');
EXECSQL;
FORM_JKC.DBGrid1.DataSource.DataSet.First;
// ADODM.QUERY_JKCGJ.DataSource.DataSet.First;
While Not (FORM_JKC.DBGrid1.DataSource.DataSet.Eof) do
begin
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[0].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[0].AsString;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[1].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[1].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[2].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[2].AsString;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[3].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[3].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[4].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[4].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[5].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[5].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[6].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[6].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[7].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[7].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[8].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[8].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[9].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[9].AsString ;
ADODM.QUERY_JKCGJ.DataSource.DataSet.Fields[10].AsString:=FORM_JKC.DBGrid1.DataSource.DataSet.Fields[10].AsString ; FORM_JKC.DBGrid1.DataSource.DataSet.Next;
// ADODM.QUERY_JKCGJ.DataSource.DataSet.NEXT;
end;
end;
screen.Cursor := crDefault;