使用AdoQuery控件,实现如题功能,谢谢。

解决方案 »

  1.   


    定义一个全局变量:
      MemStr : TMemoryStream;;读出Word文件:
      MemStr := TMemoryStream.Create;
      MemStr.Clear;
      MemStr.LoadFromFile(文件名);插入SQLServer中
    with AdoQuery1 do
    begin
      Close;
      Sql.Clear;
      Sql.Add('INSERT INTO 表名 (IMAGE) VALUES(:IMAGE)');
      parameters.ParamByName('IMAGE').LoadFromStream(MemStr,ftBlob);
      execsql;
    end;
      

  2.   

    导入:insert into table (Blob) values(:Blob)
    adoqTemp.ParamByName('Biob').LoadFromFile('路径',ftBlob);导出:select Blob from table
    adoqTemp.FieldByName(Blob) as TBlobField.SaveToFile('路径+文件名');
      

  3.   

    TBlobField(ADODataSet1.FieldByName('image')).LoadFromFile('c:\aa.doc');TBlobField(ADODataSet1.FieldByName('image')).SaveFromFile('c:\aa.doc');
    end;
      

  4.   

    2。存入
      TBlobField *pField=(TBlobField*)Query->FieldByName("Image");
      pField->LoadFromFile(PPath);//PPath是你的图片全路径名
       读出
       TADOBlobStream *tmpBStrm
       tmpBStrm=new TADOBlobStream((TBlobField *)(FindData->FieldByName("Image")),bmRead);
       tmpBStrm->Seek(0,soFromBeginning);
       Image1->Picture->LoadFromStream(tmpBStrm);
      

  5.   

    TBlobField(ADODataSet1.FieldByName('image')).LoadFromFile('c:\aa.doc');TBlobField(ADODataSet1.FieldByName('image')).SaveFromFile('c:\aa.doc');
      

  6.   

    sql server中用image或是text字段都行,可以保存任何文件类型,读出时还可以改名
    procedure TForm1.Button1Click(Sender: TObject);//保存文件
    var str:Tmemorystream;
    begin
    str:=Tmemorystream.Create;
    str.LoadFromFile('f:\page.doc');
    str.Position:=0;
    adoquery1.Append;
    Tblobfield(adoquery1.FieldByName('tt')).loadfromstream(str);
    try
    adoquery1.Post;
    finally
    str.Free;
    end;
    end;procedure TForm1.Button2Click(Sender: TObject);//读取文件
    var str:Tmemorystream;
    begin
    str:=Tmemorystream.Create;
    str.Position:=0;
    Tblobfield(adoquery1.FieldByName('tt')).savetostream(str);
    str.SaveToFile('F:\page.doc');
    str.Free;
    end;