语句该怎么写(sql和delphi)分不够再加!

解决方案 »

  1.   

    TBlobField.LoadFromFile  or  TBlobField.LoadFromStream
      

  2.   

    procedure SaveToBlobField(AField: TBlobField;AFile: string);
    var
      FStream: TMemoryStream;
    begin
      FStream := TMemoryStream.Create;
      FStream.Clear;
      FStream.Size :=0;
      FStream.LoadFromFile(AFile);
      FStream.Position :=0;
      AField.LoadFromStream(FStream);
      FStream.Free;
    end;
      

  3.   

    你好,请能不能详细一些,如ms数据库字段设置,sql语句,在delphi中用opendialog控件打开文件(.heml或.rar),再存入数据库怎么写?再从数据库中读出还原成.html文档有怎样写?
      

  4.   

    保存时记下文件的名字,读取查看时先将stream另存为原来的文件,然后打开。读取:
    var
      ms: TStream;
    begin
      ms := qrySign.CreateBlobStream(TBlobField(qrySign.FieldByName('Sign_OnImg')),bmRead);
      if ms.size > 0 then
      begin
        ms.SaveToFile(文件名);
        打开;
      end;
    end;
      

  5.   

    ms数据库字段设置
    >>>>类型为Text,还应该另外加一个字段记录原始文件名
    再存入数据库怎么写?
    >>>>用上面的SaveToBlobField函数,把opendialog.FileName做参数传入
    再从数据库中读出还原成.html文档有怎样写?
    >>>>ms.SaveToFile(原始文件名);
      

  6.   

    用image类型字段就可以了。然后在加一个字段记扩展名
    按楼上的方法就可以了。建议楼主要多思考,不要只看现成的代码
      

  7.   

    用Delphi保存二进制文件时最好不用SQL语句,直接对相关字段操作即可。
      

  8.   

    我进行了积极的思考思考的结果就是
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      sql:string;
    begin
       adoquery1.Close;
       adoquery1.SQL.Clear;
       adoquery1.SQL.Add('insert into report (rep_name,rep_data) values (:rep_name,:rep_data)');
       adoquery1.Parameters[0].Value:=SaveDialog1.FileName;
       //adoquery1.Parameters[1].Value:=SaveDialog1.   SaveDialog1.Execute
    end;
      

  9.   

    好,我试试,成功揭帖!谢谢各位...
    再存入数据库怎么写?
    >>>>用上面的SaveToBlobField函数,把opendialog.FileName做参数传入
    难道竟然可以不用sql语句就可以存取数据?333...让大家见笑了..呜呜呜,我得路好长!
      

  10.   

    难道竟然可以不用sql语句就可以存取数据?333...让大家见笑了..呜呜呜,我得路好长!============================================================因为大家都是用ClientDataset\Dataset
      

  11.   

    ClientDataset\Dataset,就不需要语句了啊?