我在设计一个系统时,要将文本文件导入到ACCESS数据库中已存在的表
格式文本如:
256332,2005,二轮摩托,100,2005-10-28 下午 07:59:28
K25896,2005,正三轮摩托,500,2005-10-28 下午 07:45:32
相关的表字段为:
ch,yyyy,cx,jfje,czrq但是我的设计时,对取文本的操作还存在一点问题,以至数据不能insert 表中,望指点一下:
procedure Tfrm_view.BitBtn4Click(Sender: TObject);
var
f:textfile;
s,ok:string;
i:integer;
begin
if textname.Text='' then
begin
showmessage('请选择文件的路径!');
exit;
end;
assignfile(f,opendialog1.filename);
reset(f);
// readln(f,s);
// ok:='';
// i:=0;
while not eof(f) do
begin
ok:='';
readln(f,s);
for i:=1 to 5 do //分五次给前四个文本加引号
begin
ok:=ok+#39+copy(s,1,pos(',',s)-1) + #39 + ',';
s:=copy(s,pos(',',s)+1,1000);
end;
ok:=ok + s ;
try
with ADOQuery_tmp do //插入明细
begin
close;
sql.Clear;
sql.add('insert into car_ls_fee(ch,yyyy,cx,jfje,czrq) ');
sql.add('values('+ ok + ')');
execsql;
end;
except
begin
showmessage('数据导入失败可能是由于有重复的数据。');
exit;
end;
end;
end;
closefile(f);
renamefile(textname.text,textname.text+'.bak');
textname.Text:='';end;
格式文本如:
256332,2005,二轮摩托,100,2005-10-28 下午 07:59:28
K25896,2005,正三轮摩托,500,2005-10-28 下午 07:45:32
相关的表字段为:
ch,yyyy,cx,jfje,czrq但是我的设计时,对取文本的操作还存在一点问题,以至数据不能insert 表中,望指点一下:
procedure Tfrm_view.BitBtn4Click(Sender: TObject);
var
f:textfile;
s,ok:string;
i:integer;
begin
if textname.Text='' then
begin
showmessage('请选择文件的路径!');
exit;
end;
assignfile(f,opendialog1.filename);
reset(f);
// readln(f,s);
// ok:='';
// i:=0;
while not eof(f) do
begin
ok:='';
readln(f,s);
for i:=1 to 5 do //分五次给前四个文本加引号
begin
ok:=ok+#39+copy(s,1,pos(',',s)-1) + #39 + ',';
s:=copy(s,pos(',',s)+1,1000);
end;
ok:=ok + s ;
try
with ADOQuery_tmp do //插入明细
begin
close;
sql.Clear;
sql.add('insert into car_ls_fee(ch,yyyy,cx,jfje,czrq) ');
sql.add('values('+ ok + ')');
execsql;
end;
except
begin
showmessage('数据导入失败可能是由于有重复的数据。');
exit;
end;
end;
end;
closefile(f);
renamefile(textname.text,textname.text+'.bak');
textname.Text:='';end;
2、你的日期不要使用那么罗索的日期,否则会死的很难看
《查询》如何查询其他数据库内的表(IN子句实例)?
http://access911.net/index.asp?u1=a&u2=71FAB21E17DC