问题说明:(D7+sql server)
1.有文件夹若干
2.每个文件夹内有两种文件,一是*.bmp,一是*.txt文件,每一个bmp文件
  对应一个txt文件,每一对文件的文件名是一样的
3.需从txt文件读出相应bmp文件的信息,因为数据库表中定义为(col1,col2,image)
3.想实现,打开一次读入一个文件夹下的所有文件,然后把图像数据和相关的col1,
  col2的数据存入数据库我的程序是这样处理的:
1.把txt文件存入一个tStringlist,bmp存入另一个TStringlist中,
2.如果txt的文件名和BMP文件的文件名相同,则从TXT文件中读出其中的JH,YYSD值,
3.开始把这一相关的数据存入表中。我的代码如下,可程序什么也不执行:var
  txtfiles,bmpfiles,filelist:TStringlist;
  I,J,K:integer;
  JH,YYSD,substr,insertstr:String;
begin
  txtfiles:=TStringlist.Create;
  filelist:=TStringlist.Create;
  bmpfiles:=TStringlist.Create;
  filelist.Clear;
  if opentxt.Execute then
  begin
    filelist.Assign(opentxt.Files);
    JH:='';
    YYSD:='';
    txtfiles.Clear;
    bmpfiles.Clear;
    for I:=0 to filelist.Count-1 do
    begin
      substr:='';
      substr:=trim(copy(extractfilename(filelist[I]),length(extractfileName(filelist[I]))-2,3));
      if substr='txt' then
        txtfiles.LoadFromFile(filelist[I])
      else if substr='bmp' then
        bmpfiles.LoadFromFile(filelist[i]);
    end;//end files assorting
    for J:=0 to bmpfiles.Count-1 do
    begin
      for K:=0 to txtfiles.Count-1 do
      begin
        if changefileExt(extractfileName(bmpfiles[J]),'')=changefileExt(extractfilename(opentxt.files[K]),'') then
        begin
          if txtfiles.Names[K]='Well ID' then
            JH:=trim(txtfiles.ValueFromIndex[K])
          else if txtfiles.Names[K]='Depth' then
            YYSD:=trim(TXTfiles.ValueFromIndex[K]);
          WITH ADOQuery1 do
          begin
            close;
            sql.Clear;
            sql.Add('insert into wgtx(JH,YYSD,WGTX) valus(:JH,:YYSD,:WGTX)');
            fieldbyname('JH').Asstring:=JH;
            fieldbyname('YYSD').asstring:=YYSD;
            TBlobfield(fieldbyname('WGTX')).LoadFromFile(bmpfiles[J]);
            execsql;
            close;
          end;//end SQL-insert statement
        end;
      end;//end txt file's cycle
    end;
    //end bmp file's cycle
  end;//end a open operation
  bmpfiles.Free;
  txtfiles.Free;
  filelist.Free;