我先用ADOQuery1.SaveToFile导出数据到本地,再用ADOQuery2.LoadFromFile把数据导入进来,这时数据是保存在ADOQuery2里,并没有真正写入数据库,我只能把数据从ADOQuery2里一条一条读出来,通过FieldByName或用SQL语句来INSERT到表里,请问有没有别的好方法写入到库里,我觉的应该有,因为数据已经保存在ADOQuery2里了。
(我试过用ADOQuery2.post和UpdateBatch都不行,在之前用edit也不行)
(我试过用ADOQuery2.post和UpdateBatch都不行,在之前用edit也不行)
解决方案 »
- 各位大侠:DELPHI 编程,ADOQUERY写SQL数据库时,写入内容为空时如何处理?
- delphier 你们。。。。。。。。。。。。。
- 关于180度旋转显示
- 找个沈阳本地的程序员帮给个东东 会delphi和asp 有油水的阿
- 如何复制一个DBGRID给另一个DBGRID
- 这个问题困惑了我一天,如何用SQL语句实现?
- 暴难的问题,哪位牛人能搞定500分相送,绝不食言!
- 网管帮手。远程重启工具。
- moden通讯的问题
- 麻烦高手批改作业。(winsocket问题)
- DBNavigator控件可否在程序中将某个已经显示的按钮变为不显示?
- 哪里可以找到将delphi的pascal转换成UML的类图的工具
insert into table select * from ADOQuery2 可以吗?
insert into table select * from ADOQuery2 可以吗?
这样行吗?我没试过,不过我觉的不可以,ADOQuery2是个数据集控件,并不是数据库里的表,如果在数据库里执行这条SQL语句,它肯定会把ADOQuery2当成表来处理,可是数据库里并没有ADOQuery2表。
若是已确定,就好做了。
表名是确定的,并且ADOQuery1的sql语句是确定。请问有什么好方法。
当然,也可用另外的query,但必须保证它的sql语句是正确的。
对,这也是个办法,
不过我还是感觉太过于麻烦,我觉得既然数据已经保存在ADOQuery2里面了,能不能不用把数据逐个读到另一个query或变量里去拼SQL语句(我是读到变量里去拼SQL),直接就用这个ADOQuery2来完成(比如POST、UpdateBatch,但是我试过,存不进去)。
但是还是非常感谢TWWH(),你的方法比我的要省事些,用两个循环就行了。
with adoquery1 do
begin
insert into 表名('字段1','字段2','字段3') values(ADOQuery1.Fields[0].asstring,ADOQuery1.Fields[1].asstring,ADOQuery1.Fields[2].asstring);
next;
end;
access还是ms sql或interbase
可以:
adoconnection1.Execute('insert into 库2.表2 (field1,field2...) select (field1,field2...) from 表1')