memtable(30分)

  • 主题发起人 主题发起人 su-100
  • 开始时间 开始时间
S

su-100

Unregistered / Unconfirmed
GUEST, unregistred user!
使用rxlib2.75完成下列任务,出错:

memorytable已在form中建立,


memorytable.tablename:='memtable'';

with table1 do
begin
aa:=fieldbyname('dd').asinteger;
bb:=fieldbyname('cc').asstring;
....
while memorytable not eof do
begin
memorytable.insert;
memorytable.fieldbyname('q1').asinteger:=aa;
memorytable.fieldbyname('q2').asstring:=bb;
...
memorytable.post;

end;
next;
end;

query1.close;
query1.sql.clear;
query1.sql.add('insert inot ggg select * from memtable');
query1.execsql;

error!

next;
 
确切的说,我想通过 sql语言一次将sql server 6.5上的数据放入内存表,
处理后,再由内存表一次插入服务器上的表

关键不知道rxlib中的memorytable如何与query的sql联用?
 
能这么用吗?

query1.sql := 'insert inot ggg values(:dd, :cc)';

memtable.First;
query1.Prepare;
while not memtable.Eof do
begin
query1.Close;
query1.Params[0].AsInteger := memtable.FieldByName('q1').AsInteger;
query1.Params[1].AsString := memtable.FieldByName('q2').AsString;
query1.execsql;
memtable.Next;
end;
 
xWolf:

你这样写实际上还是在插单条记录,只是加了循环.
比如我想一次用 SQL 语句将SQL SERVER 的数据装入memorytable,该如何做??
 
query1.close;
query1.sql.clear;
query1.sql.add('insert inot ggg select * from memtable');
query1.execsql;
你可使用xquery.
 
接受答案了.
 
后退
顶部