如何将数据保存到ACCESS数据表中(50分)

  • 主题发起人 bitwomen
  • 开始时间
B

bitwomen

Unregistered / Unconfirmed
GUEST, unregistred user!
需要将QUERY中的数据输出到ACCESS数据表中,其中还需要动态修改输出项目的编号,比如:
ID NAME SYSTEM MANUFACTURE PRODUCEDATE
12 制动管接头 车身 中国上海大众汽车有限公司 卸下维修
39 踏板回位弹簧 底盘 中国上海大众汽车有限公司 初次安装
14 曲轴 底盘 中国一汽—大众汽车有限公司 初次安装
60 前大灯 电器设备 中国上海大众汽车有限公司 初次安装
ACCESS中数据表的结构为:
ID将原来的数值根据需要改为11、12或13;
CATEGORY为原来的SYSTEM;
SUBCATEGORY为原来的NAME;
其余的数据项略掉。
希望提供源程序或例子,谢谢。


 
将QUERY的属性CachedUpdates:=True;
直接修改QUERY的值后,做
with QUERY do
beign
first;
while not Eof do
begin
editquery.close;
editquery.sql.clear;
editquery.sql.add('insert into ACCESS表名 (ID,CATEGORY,SUBCATEGORY) values :)ID,:CATEGORY,:SUBCATEGORY)');
editquery.parambyname('ID').asstring := fieldbyname('ID').asstring;
editquery.parambyname('CATEGORY').asstring := fieldbyname('SYSTEM').asstring;
editquery.parambyname('SUBCATEGORY').asstring := fieldbyname('NAME').asstring;
editquery.execsql;
next;
end;
end;
最后QUERY.CancelUpdates;
 
如果你地id不是自增地可以实现,是自增地恐怕不可以随便改。
要改到10以上,先添10个假记录,再去掉
 
to hy17:
为什么你的源程序编译不过去呢?
 
我只是将步骤详细地描述了一下,你的ACCESS数据表的具体结构和索引我都不知道
你将出错提示贴出来
或者你自己设置断点调试一下吧
:)
 
代码改了
仔细看

with QUERY do
beign
first;
while not Eof do
begin
editquery.close;
editquery.sql.clear;
editquery.sql.add('insert into ACCESS表名 (ID,CATEGORY,SUBCATEGORY) values :)ID,:CATEGORY,:SUBCATEGORY)');
editquery.parambyname('ID').asstring := fieldbyname('ID').asstring;
editquery.parambyname('CATEGORY').asstring := fieldbyname('SYSTEM').asstring;
editquery.parambyname('SUBCATEGORY').asstring := fieldbyname('NAME').asstring;
//editquery.execsql;
editquery.open
next;
end;
end;
 
为什么会提示“editquery”未定义呢?
 
再加一个name为editquery的query控件
 
谢谢老兄的提示,我现在真的感觉就要崩溃了!
 
如何指定ACCESS数据表的位置呢?比如C:/BACKUP/DS数据表中的SC表。谢谢!
 
你是用的bde吗?如果是的话指定数据表的位置就好办了,我有办法
 
我使用的是BDE
 
可以将Tdatabase这么设:
  将aliasName中的alias名去掉,或者干脆到bde里将这个别名删掉
  将drivername设为MSACCESS
然后在params中加入database name=你的Access数据文件名(包括路径)
open mode=read/write
在databasename中填入你想要的名字(相当于别名,填完后可以在其它像Table的
databasename中像别名一样用,然后就可以在Table的Tablename中选择Access中的表了)
 
我用的是数据摸板,使用的用两个数据库了:通用数据库和部件信息数据库,难道为了保存到ACCESS数据表中我还需要重新建立一个数据库吗?
 
顶部