⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 delphi写的一个数据库存取图片的代码的例子用的是sql的数据库
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids, DBGrids, DB, Mask, DBCtrls, ADODB, ExtDlgs,jpeg;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DBEdit1: TDBEdit;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Opd1: TOpenPictureDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  adotable1.Append ;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  opd1.Execute ;
  if opd1.FileName <> '' then
  begin
  form2.Image1.Picture.LoadFromFile(opd1.FileName);
  form2.show;
  end;
end;

procedure TForm1.DBGrid1DblClick(Sender: TObject);
var
ms:TStringStream;
Jpg:TJpegImage;
begin                                             //显示
  ms:=TstringStream.Create('');
  Jpg:=TJpegImage.Create;
  TBlobField(ADOTable1.FieldByName('zp')).SaveToStream(ms);
  jpg.LoadFromStream(ms);
  ms.Position :=0;
  Jpg.LoadFromStream(ms);
//  Form2.Image1.Picture.Bitmap.LoadFromStream(ms);    //调用bmp图像的方法
  form2.Image1.Picture.Assign(jpg);               {如果JpegImage是从一个文件中load的话(loadfromstream),图像就可以正常显示,
                                                  而从数据库字段中读到流里,JpegImage再从这个流里load,就不行,
                                                  会出现错误JPEG error #41。}
  Form2.Show;
  form2.Position :=poScreenCenter;

end;

procedure TForm1.Button2Click(Sender: TObject);
var
msmem:TmemoryStream;
jpg:TJpegImage;
begin                                     //保存
  msmem:=TmemoryStream.Create;
  Jpg:=TjpegImage.Create;
  jpg.Assign(form2.Image1.Picture.Graphic);
  jpg.SaveToStream(msmem) ;            // 1
//  form2.Image1.Picture.Bitmap.SaveToStream(msmem);        // 保存bmp图像的方法
  msmem.Position :=0;
  adotable1.Edit ;
  TBlobField(ADOTable1.FieldByName('zp')).LoadFromStream(msmem);
  ADOTable1.Post ;
  Msmem.Free ;
  jpg.Free;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  adoconnection1.Connected :=true;
  adotable1.Active :=true;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  adoconnection1.Connected :=false;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -