我想从*.dat或*.txt文件中导入数据.其数据格式为:
123234.56 675.32
133334.51 775.31
124254.32 825.74
225261.45 845.44
我想把每行的前三个数导入到表a的字段t里,把紧跟的234.56,334.51,...导入到表a的字段y里,把剩余的675.32,775.31,...导入到表a的字段x里.按一键"导入"就可以完成.要怎么实现.请赐教!!!

解决方案 »

  1.   

    自己写个程序来导入
    assign();
    Reset();
    Readln();
    写入数据库记得不要频繁的打开数据库;
    很快的
    我写过从一个.txt里面导入SqlServer
    的,100个记录每分钟,每个记录可能有40行左右
    呢;
    你的字段这么少,一会而就完了
      

  2.   

    var  
      SL: TStringlist;
      lp: integer;
      a1,b1,c1: string;
    begin
      SL  := TStringlist.create;
      try
        sl.loadfromfile('d:\aa.dat');
        for lp := 0 to sl.count -1 do
        begin
          a1 := Copy(sl[lp], 1, 3);
          b1 := Copy(sl[lp], 4, pos(' ',sl[lp]) - 4);//假设数据中间间隔是空格,如果不是请替换
          c1 := Copy(sl[lp], pos(' ',sl[lp]) + 1, maxint);
          query1.close;
          query1.sql.text := 'insert into a(t,y,x) values(''' + a1 + ''',''' + b1 + ''',''' + c1 +''')'
          query1.Post;
        end;
      finally
        sl.free;
      end;
    end;
      

  3.   

    先导入TStringlist;然后再把Stringlist里的数据给变量赋值,最后再导入数据库。