补充:
   该文本文件每行其长无比,readln似乎处理不好,另外字段长度不固定,null值又很多
   bcp和import data工具均出错,导入不成功

解决方案 »

  1.   

    从文本中用 readln() 读出一行,根据逗号把它拆成60个字符串,然后就可以一一写入数据库。其实对于字符串没有必要用双引号括起来,只要把位置排成和数据库的位置一样就可以。
      

  2.   

    to apollo47:文本由他人提供,格式无法修改
      

  3.   

    试试这种方法:
    var
       ts:Tstringlist;
       i:integer;
    begin
       ts:=Tstringlist.Create;
       ts.CommaText:=memo1.Lines[0];
       for i:=0 to ts.Count-1 do
       begin
          combobox1.Items.Add(ts.strings[i]);
       end;
       ts.Free;
      

  4.   

    to clacklin:excel只能导入前65535行,而且其中有错行
      

  5.   

    to wanwangzhiwang(万王之王):
      佩服佩服,我如何给你分,请告之
      

  6.   

    你用bcp出错不是因为“字段长度不固定,null值又很多 ”,而是以为你在
    字符,整数,字符,字符,日期,字符,整数
    "00003",,"jhgug","ldfgdlgjlj类毒素,,建立反对感到法",,"",
    这些整数、日期类型时没有正确的值,''肯定是会出错的,
    处理的方法是在获得字符串数据时加入缺省值,使数据类型匹配。
      

  7.   

    to 万王之王:
      唯一的遗憾是如果某一字符串中内嵌有双引号,commatext会截取出错。
    to 雨神:
      在sql server的import data工具里是不会出错的,它自动用null代替空值,而bcp则不行
      

  8.   

    to 阿唐:
       对呀,bcp 的确如此,所以我说一定要用bcp的话,就应该在得到文本前做处理,让文本符合要求。当然如果用DTS的话,那就什么都不用说了,省时,省力,省心。
      

  9.   

    to 雨神
       遗憾的是得到文本前处理它不太可能(人家只提供这种鸟格式),而且我得到的超长文本用DTS也会出错,它不认为逗号是字段分隔符