现有一大堆二进制格式的数据文件(定长整数)要导入数据库的BLOB字段中,请教有什么好方法没有?

解决方案 »

  1.   

    //试一试,应该可以。
    var
      iFileHandle, FileHandle1: Integer;
      iFileLength: Integer;
      iBytesRead: Integer;
      Str1: string;
    begin
       if OpenDialog1.Execute then
       begin
          iFileHandle := FileOpen( OpenDialog1.FileName, fmOpenRead );
          iFileLength := FileSeek(iFileHandle,0,2);
          FileSeek(iFileHandle,0,0);
          SetLength( Str1 ,  iFileLength +1  ) ;
          iBytesRead := FileRead(iFileHandle, Str1[1], iFileLength);
          FileClose(iFileHandle);
          strTemp := Str1;
          //把strTemp 存储到数据库里
       end;
    end;end.
      

  2.   

    少声明一个变量
    strTemp: string;
      

  3.   

    这个可以直接用TBolbField的功能就可以了:
    Table1.Edit;
    (Table1.FieldByName('File') as TBlobField).LoadFromFile('D:\1.exe');
    Table1.Post;
      

  4.   

    把OpenDialog设置成允许多选,通过OpenDialog.Files.Text获得所选的所用文件的名称。在存储成BLOB字段的程序外做一个循环,每循环一次差入一个文件。
      

  5.   

    用filestream来读,用ini文件定义文件后缀