delphi保存图片至sql server问题 谁解决了给20,在线等待.我想保存bmp,jpg图片至sql server 数据库.谁给个完整的实例过来.急.
刚上找了很多,但都用不了. 请高手帮个忙.

解决方案 »

  1.   

    我以前是这样的基本思路:1、表中的字段类型用image
    2、用ADO方式连接数据库
    3、用数据敏感组件DBImage来显示和加载新的图片
    4、当新增一条记录(或修改记录)时,
       ADOTable1.append;(或adotable1.edit);
    5、然后向DBImage加载图片
      if opd1.execute then  //opd1是打开文件对话框
      begin
        showMessage(opd1.FileName);
        dbimage1.Picture.LoadFromFile(opd1.FileName);
      end;6、最后:abotable1.post;
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DBCtrls, DB, ADODB, ExtCtrls, Grids, DBGrids, ExtDlgs, StdCtrls;type
      TForm1 = class(TForm)
        ADOConnection1: TADOConnection;
        DataSource1: TDataSource;
        DBGrid1: TDBGrid;
        DBNavigator1: TDBNavigator;
        ADOTable1: TADOTable;
        DBImage1: TDBImage;
        Button1: TButton;
        opd1: TOpenPictureDialog;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      if opd1.execute then
      begin
        showMessage(opd1.FileName);
        dbimage1.Picture.LoadFromFile(opd1.FileName);
      end;
    end;end.
      

  2.   

    楼上的.你能否说清楚,怎么通过流,把图片保存至sql server中啊. 还有怎么再从sql server读出图片来. 谢谢.
      

  3.   

    通过大字段
    TBlodFild(AdoqTable.FieldByName('img')).LoadStream(Stream)
    TBlodFild(AdoqTable.FieldByName('img')).SaveStream(Stream)
    字段如果是ACCESS的化为OLE,如果为SQLSERVER 的化就是IMAGE