首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

delphi 把dbgrid数据导入数据表解决办法

2013-04-26 
delphi 把dbgrid数据导入数据表在dbgrid中有一些查询出来的数据,我想在一个按钮下把这些数据导入到我数据

delphi 把dbgrid数据导入数据表
在dbgrid中有一些查询出来的数据,我想在一个按钮下把这些数据导入到我数据库中的一个表里面,不知道如何实现,谢谢大家了。
[解决办法]
dbgrid里面的数据是用SQL查询出来的吧?
是的话直接用一个Insert into MyNewTable + 你查询的SQL就可以了
[解决办法]
数据循环读出来,用sql插入
[解决办法]

引用:
dbgrid里面的数据是用SQL查询出来的吧?
是的话直接用一个Insert into MyNewTable + 你查询的SQL就可以了


这样最简单,最快,呵呵



引用:
数据循环读出来,用sql插入


这样也可以的。
[解决办法]
引用:
引用:数据循环读出来,用sql插入
var sqlstr:string;
query1.first;
while not query1.eof do
begin
  sqlstr:='insert into aa(......) values '+query1.fieldbyname('dddd').asstring.....
  query.next;
end

这样???数据多的话……


feiba的方法更好


[解决办法]
如此,只有徃循环DBGrid,逐条导入一个临时表中。
[解决办法]
引用:
引用:引用:dbgrid里面的数据是用SQL查询出来的吧?
是的话直接用一个Insert into MyNewTable + 你查询的SQL就可以了

这样最简单,最快,呵呵



引用:数据循环读出来,用sql插入

这样也可以的。

引用 9 楼 ……


选择的也可以啊,如果你查询出来结果是单表的,那就将这个表的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语句查询一次嘛,何必要保存呢?这是一种无效劳动,浪费硬盘空间!

热点排行