如何把现在查询显示在DBGRID里得到的数据存储到新表(50分)

  • 主题发起人 主题发起人 yuniqipiao
  • 开始时间 开始时间
Y

yuniqipiao

Unregistered / Unconfirmed
GUEST, unregistred user!
大家好:
本人急想知道,如何把现在查询显示在DBGRID里得到的数据存储到新表中(表已经建好,字段名称都与DBGRID对应了),不知道然后存储进去!表名为LSB,请求各位高手指教!!
 
select语句改为insert语句表名改为LSB
 
能不能具体点,把语句写一下呀?
我不明白,我很着急呀,也看要毕业了,我是想进行结果中查询.所以想先把查询的DATEGRID数据保存,然后在进行数据查询,现在你能把具体如何保存DATEGRID数据到新表的语句写出来吗??
新表名为LSB,求救!!!
 
你使用 select aaa,bbb,ccc from DDD where EEE=FFF 查询出来的结果吧。
你再使用 insert into LSB (select aaa,bbb,ccc from DDD where EEE=FFF)
 
我不明白,我很着急呀,也看要毕业了,我是想进行结果中查询.所以想先把查询的DATEGRID数据保存,然后在进行数据查询,现在你能把具体如何保存DATEGRID数据到新表的语句写出来吗??
新表名为LSB,求救!!!

a :='Select * From ycys Where zkjtj=100

query1.close;
query1.SQL.Clear ;
query1.SQL.text := a ;
query1.Open;
insert into LSB

提示错误:
[Error] Unit7.pas(176): '(' expected but identifier 'into' found
 
a :='insert into LSB (select * from ycys where zkjtj=100)';
query1.close;
query1.SQL.Clear ;
query1.SQL.text := a ;
query1.Open;
 
你对表进行插入数据的时候不能使用Open方法,应该用 ExecSQL方法

例如:query1.close;
query1.sql.clear;
query1.sql.text:='insert into lsb select * from ycys where zkjtj=100';
query1.execsql;
 
你是不是想在結果中再進行一次查詢吧,你把查詢條件保存就可以啦,在一個表中可以實現的動作干嘛又弄到另外一個表中呢,你在查詢中時把條件保存在一個變量(如ss:sting)中,再次查詢時把新的查詢條件再加上原來的查詢條件(ss)不就可以了嗎
 
把lsb连到ado_lsb上
然后
dbgrid.datasouce.dataset.first;
while not dbgrid.datasouce.dataset.eof do
begin
with ado_lsb do
begin
append;
fieldbyname('名称').asstring:=dbgrid.datasouce.dataset.fieldbyname('名 称').asstring;
.
.
.
post;
end;
dbgrid.datasouce.dataset.next;
end;
 
多人接受答案了。
 
后退
顶部