数据库新手问题(又是各位拿分的好机会哦!)(50分)

  • 主题发起人 主题发起人 深圳小吴
  • 开始时间 开始时间

深圳小吴

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把用文本文件批量的输入数据!
如有文本文件:
1,1.00,6:00,23:00,东湖站,爱国路,火车站
2,1.50,6:00,23:00,布吉,建设路,火车站
.
.
.
表的结构为:
nbus: alpha 3;
money:alpha 10;
btime:alpha 10;
etime:appha 10;
station:alpha 255;
我用逐个读字符的方法先判断是不是逗号在读入,代码如下!
while(not eof(file1))do
begin
query1.Append ;
while(not seekeoln(file1))do
begin
for i:=1 to 255 do
begin
read(file1,t);//t为一字符变量
if(j=4)then begin read(file1,buffer);//buffer为string
query1.fields[j].asstring:=buffer;
buffer:='';
break;
end;
if(t<>t1)then buffer:=buffer+t//t1=',';
else begin query1.Fields[j].asstring:=buffer;
j:=j+1;
buffer:='';
break;
end;
end;
end;
j:=0;
readln(file1);
// if(eof(file1))then break;
end;
但是以上代码在读前四个字段都很正常,到最后一个字段时老是前几个字符出现
乱码?
如:nbus=1,则station有可能变成' 爱国路,火车站';
有知为什么???
有更好的办法把文本文件转成指定格式的数据表吗???
哦!我用的是pardax 7.0!!!
 
用BCP命令 可以转成SQL 数据库。
 
有的,文本文件也是数据库引擎支持的格式之一,用逗号分开的文本文件正好符合规格。建议你去看看《DELPHI参考手册》,里面有不少这类的问题。
 
是啊,oracle,informix也都有读取文本的功能
 
同意 黄豆的观点。用数据库引擎是最好的方法,不过你的文本一定要规范,配置文件
为 *.sch 可参考相关资料。
 
你指的《参考手册》是书吗?我这有本《DELPHI 3。0使用手册》(电子工业出版社出版的)但是没有有关内容。
我还是觉得自己写段代码放在自己程序中会方便一点!
各位大虾怎样看呢????
有帮我看下这段代码的的人吗?分一定给你!!!
 
我也想知道!
 
这个问题我自己已解决!不过有点怪!
我只是在如:
1,1.00,6:00,23:00,东湖站,爱国路,火车站
变成:1,1.00,6:00,23:00,,东湖站,爱国路,火车站
即搞定!不知为什么???
有能说出道理吗?说出就给分!
如果没有人知道!我想问一下版主能给我自己加分吗?


 
接受答案了.
 
后退
顶部