遇到难题,哪位GG可以帮帮小妹? ( 积分: 100 )

  • 主题发起人 主题发起人 wxdhy
  • 开始时间 开始时间
W

wxdhy

Unregistered / Unconfirmed
GUEST, unregistred user!
读一个文本文件,根据第一列的编号,分别将后面的日期和时间写入access库(库名ttt)中表abc的riqi和time字段。

一、文本文件形入:

000003 2007-11-17 10:11:18
000005 2007-12-17 10:11:18
000006 2007-09-17 10:11:18
000007 2007-04-17 10:11:18
000008 2007-06-17 10:11:18
000009 2007-10-17 10:11:18
000010 2007-12-17 10:11:18
000011 2007-11-15 10:11:18
000012 2007-11-11 10:11:18
000110 2007-11-14 10:11:18

其中,编号与日期,日期与时间之间是以空格分开的。

二、access库中表abc的表设计如下:


字段名称 数据类型

bh 文本

addr 文本

riqi 文本

time 文本
 
var
bh,addr,riqi,time:string;
f:TextFile;
s:string;
begin
assignfile(f,fname); //指向数据文件
reset(f);
while not eof(f) do
begin
readln(f,s);
bh := copy(s,1,6);
riqi:=copy(s,8,10);
time:=copy(s,20,8);
//开始保存到access库

end;
closefile(f);
end;
 
1.先放一数据库连接,连access库
2.再放一query,或dataset,语句是 insert 或select ,如果要防止重复,可以用select
zquery1.sql.add('select * from abc where bh=:bh')
3.在你的保存处
zquery1.close;
zquery1.parambyname('bh').value := bh;
zquery1.open;

if zquery1.isempty then //没有重复
begin
zquery1.append;
zquery1.fieldbyname('bh').asstring := bh;
//其他几个
end
 
用SQL导入导出先写到SQL临时表。在两表联合更新就OK了。简单方便。
好象是BCP命令!
 
后退
顶部