选择的也可以啊,如果你查询出来结果是单表的,那就将这个表的ROWID也Select出来,将选择的行记住ROWID,保存的时候用ROWID in ('rowid1', 'rowid2','rowid3',...)
如果查询的结果是单条件多个表,则要记住主表的查询栏位,然后保存的时候对主表那个栏位用一个IN。
如果查询的结果是多条件多个表,则要记住每个表的关键栏位,然后保存的时候每个表一个IN。 [解决办法] 举个简单的例子,选择Emp表,emp表的主要栏位为EMP_NO 在用户选择完,点保存的时候,我先将用户选择的每笔数据的EMP_NO保存到一个string里面 s := '(empno1, empno2, empno3,...)'
然后在保存的时候用SQL := 'Insert into newtable select * from emp where emp_no in ' + s; [解决办法] 不少的人总是想如何把DBGRID中的数据保存到数据库中,其实这有什么意义呢?DBGRID如果是与数据库连接着的,那么DBGRID的数据本来就是数据库中的数据,再保存有什么意义呢?当然如果DBGRID的数据来自于网络,保存到本地数据库这倒有一点意义.因为可以脱机使用数据.但也不必再写一种将DBGRID的数据保存到数据库的代码,你可以再用一个数据集组件将那个与DBGRID连接着的那个数据集组件的数据直接保存到数据库. 有人说,我是查询所得到本地数据,我想将这个查询结果保存起来,以后用啊!这就更没有必要了,因为你要再看查询结果,可以再用同样的SQL语句查询一次嘛,何必要保存呢?这是一种无效劳动,浪费硬盘空间!