TXT里的数据是用空格分开的,大概有几千条左右,我用的是INTERBASE的,
怎样才能在程序里把每条数据导入到TABLE里?谢谢

解决方案 »

  1.   

    只有几千条的话,使用Insert语句就可以了!!!
      

  2.   

    规范的文本用ADOConnection 
    不规范的一行一行读吧
      

  3.   

    var f:textfile;
        i,j:integer;
        s:string;
        s1:string;
    begin
      if OpenDialog1.Execute then
       assignfile(f,opendialog1.FileName);
     reset(f);
     readln(f,s);
     datamodule2.T_benefit.EmptyTable;
     while s<>'' do
      begin
         datamodule2.T_benefit.active:=true;
         datamodule2.T_benefit.Edit;
            j:=0;
            i:=pos(' ',s);
         datamodule2.T_benefit.Insert;
         while i>0 do
           begin
           s1:=copy(s,1,i-1);
            s:=copy(s,i+1,length(s)-1);
            datamodule2.T_benefit.fields[j].asstring:=s1;
            i:=pos(' ',s);
            j:=j+1;
           end;     readln(f,s);
      end;
     closefile(f);
     datamodule2.T_benefit.Post;
    end;
    我写出这段代码,但一运行起来,就会死机?请问是在哪里出错了?
      

  4.   

    1。  datamodule2.T_benefit.Edit;
            j:=0;
            i:=pos(' ',s);
         datamodule2.T_benefit.Insert;
    好像前面的edit 没有用。
    2。s:=copy(s,i+1,length(s)-1);
    应该是s:=copy(s,i+1,length(s)-i);
      

  5.   

    但奇怪的是在生成的EXE中,可以导入第一条,但之后就会说list of out...
      

  6.   

    daichao1016(大超)的代码还得加一点: while not eof(f) do begin         end;
      

  7.   

    procedure Trztjfrm.Button1Click(Sender: TObject);
    var f1:textfile;
        file1,mem:string;
        handle:integer;
        fphm,fpdm,jine,shuie,kprq,gfsh,xfsh,shuqi:string;
        jine1,shuie1:real;
    begin
       query1.First;
       if query1.Eof then exit;
       file1:=p_path+'\bak\查询结果.txt';
       if not fileexists(file1) then
          begin
          handle:=filecreate(file1);
          fileclose(handle);
          end;
        assignfile(f1,file1);
        Rewrite(f1);
        mem:='纳税人识别号,属期,发票代码,发票号码,金额,税额,开票日期,销方识别号';
        writeln(f1,mem);
        query1.first;
        while query1.eof<>true do
         begin
           gfsh:=query1.fieldbyname('nsrsbh').asstring;
           shuqi:=query1.fieldbyname('shuqi').asstring;
           fpdm:=query1.fieldbyname('fpdm').asstring;
           fphm:=query1.fieldbyname('fphm').asstring;
           jine1:=query1.fieldbyname('jine').asfloat;
           shuie1:=query1.fieldbyname('shuie').asfloat;
           kprq:=query1.fieldbyname('rzrq').asstring;
           xfsh:=query1.fieldbyname('bz1').asstring;
           jine:=Format('%14.2f', [jine1]);
           shuie:=Format('%14.2f', [shuie1]);
           mem:=gfsh+','+shuqi+','+fpdm+','+fphm+','+jine+','+trim(shuie)+','+kprq+','+xfsh;
           writeln(f1,mem);
           query1.Next;
          end;
           closefile(f1);
           showmessage('查询结果文件'+file1+'已生成,请查看!');
    end;