取界面TImage里的图片,存入SQL Server 字段类型:Image
怎么解决,请高手帮忙

解决方案 »

  1.   

    var
      ms:TMemoryStream;
    begin
      Image1.Picture.SaveToFile('c:\1.bmp');
      ms:=TMemoryStream.Create;
      ms.LoadFromFile('c:\1.bmp');
      with ADOQuery1 do
      begin
        close;
        sql.text:='update t_1 set image1=:image1 where id=1';
        Parameters[0].Value:=ms;
        ExecSQL;
        ms.free;
      end;
    end;
      

  2.   

    1、ADO连接 
    acn_public.ConnectionString:='Provider=SQLOLEDB.1;Password=fd;Persist Security Info=True;'
     +'User ID=founder;Initial Catalog='+database+';Data Source='+trim(pserver);
    2、写入数据库
    begin
        with aq_public do
        begin
          close;
          sql.clear;
          sql.add('update '+tbname+' set rtfcontent=:content where no=:id');
          parameters.ParamByName('content').LoadFromFile('文件路径',ftfmtmemo);
          execsql;
        end;
      

  3.   

    还有就是怎么取出来放到TImage里,在线等
      

  4.   

    呵呵
     with aq_public do
        begin
          close;
          sql.clear;
          sql.add('select * from '+tbname+' where no=:id');
          parameters.ParamByName('id').Value:=pfileno;
          open;
          end;
        (aq_public.fieldbyname('rtfcontent') as TBlobField).SaveTofile('临时路径');
    然后调用
      

  5.   

    //保存
    begin
      with ADOQuery1 do
      begin
        close;
        SQL.Text := 'select Image1 from t_1 where id = 1';
        Open;
        TBlobFile(Fields[0]).LoadFromFile('xxxx.bmp');
    //or TBlobFile(FieldByName('Image1')).LoadFromFile('xxxx.bmp');
        Close;
      end;
    end;//读取
    begin
      with ADOQuery1 do
      begin
        close;
        SQL.Text := 'select Image1 from t_1 where id = 1';
        Open;
        TBlobFile(Fields[0]).SaveToFile('xxxx.bmp');
    //or TBlobFile(FieldByName('Image1')).SaveToFile('xxxx.bmp');
    //用SaveToStream可能更方便
        Close;
      end;
    end;