unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtDlgs, StdCtrls, ExtCtrls, DB, ADODB, jpeg, DBCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
Image2: TImage;
OpenPictureDialog1: TOpenPictureDialog;
Label1: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
M:TMemoryStream;
begin
////////////////////////////////////////////////////////////
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='delete from a1';
ADOQuery1.ExecSQL; //这个和数据存储没有关系
//////////////////////////////////////////////////////////////
if OpenPictureDialog1.Execute then
begin
Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);
end;
if Application.MessageBox('是否存入数据库?','提示',MB_OKCANCEL)<>1 then Exit;
M:=TMemoryStream.create;
Image1.Picture.graphic.SaveToStream(M);
M.Position:=0;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='insert into a1 values
![Smile (: (:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
pic)';
ADOQuery1.Parameters.ParamByName('pic').LoadFromStream(M,ftBlob);
ADOQuery1.Prepared;
ADOQuery1.ExecSQL;
M.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
M:TStream;
T:TMemoryStream;
myimage: TJPEGImage; //<-只能读JPG Bmp使用TBitmap
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text:='select * from a1';
ADOQuery1.Open;
myimage:=TJPEGImage.Create;
M:=TMemoryStream.Create;
M:=ADOQuery1.CreateBlobStream(ADOQuery1.FieldByName('pic'),bmRead);
M.Position:=0;
T:=TMemoryStream.Create;
T.CopyFrom(M,M.Size);
T.Position:=0;
myimage.LoadFromStream(T);
Image2.Picture.Assign(myimage);
M.Free;
T.Free;
myimage.Free;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
V_Files:String;
begin
V_Files:=ExtractFilePath(Application.ExeName);
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB
![Big Grin :D :D](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f600.png)
atabase Password=acmewaygetwordsystem; Data Source='+V_Files+'db1.mdb;Persist Security Info=False';
ADOConnection1.Connected:=True;
end;
end.