最近、「DelphiのSQLServerへのJPEGファイルにアクセスする」という2つの記事を見た後、私はそれに記載されている方法が望ましいと感じましたが、ここでは非常に簡単です。信頼できる、私はそれを一人で楽しんでいないことを敢えてします、私はそれを公開し、それをみんなと共有することをいとわない。このテストは、delphi7.0+win2000+sqlserver 2000で渡され、アイデアとソースコードが次のように開示されています。
解決:
1.キーは、開いたJPEGファイルをTBITMAPオブジェクトに動的に変換し、タイムオブジェクトに表示することです。
2.表示された画像をデータベースに送信します。
この例では、テストの例テーブルがSQLSERVER2000で確立されました。試験(XM CHAR(10)、写真画像)。
プログラムソースコード:
ユニットSAVEPIC;
インタフェース
用途
窓、メッセージ、sysutils、バリアント、クラス、グラフィック、コントロール、フォーム、
ダイアログ、extdlgs、extctrls、dbctrls、グリッド、dbgrids、db、adodb、ボタン、
stdctrls、jpeg;
タイプ
tform1 = class(tform)
SpeedButton1:TspeedButton;
adoconnection1:tadoconnection;
表1:タドータブル;
DataSource1:tdatasource;
dbgrid1:tdbgrid;
dbimage1:tdbimage;
Image1:タイム;
SpeedButton2:TspeedButton;
OpenPictureDialog1:topenpicturedialog;
ラベル1:tlabel;
ラベル2:tlabel;
編集1:tedit;
SpeedButton3:TspeedButton;
手順speedbutton2click(sender:tobject);
手順speedbutton1click(sender:tobject);
手順speedbutton3click(sender:tobject);
プライベート
{プライベート宣言}
公共
{公開宣言}
終わり;
var
form1:tform1;
実装
{$ r *.dfm}
手順tform1.SpeedButton2Click(sender:tobject);
var
BMP1:tbitmap;
JPG1:tjpegimage;
始める
OpenPictureAlog1.Defaultext:= graphicextension(tjpegimage);
OpenPictureAlog1.executeの場合
始める
bmp1:= tbitmap.create;
jpg1:= tjpegimage.create;
試す
jpg1.loadfromfile(openpicturedialog1.filename);
BMP1.ASSIGN(JPG1);
image1.picture.bitmap.assign(bmp1);
ついに
jpg1.free;
bmp1.free;
終わり;
終わり;
終わり;
手順tform1.speedbutton1click(sender:tobject);
始める
表1.Open;
表1.INSERT;
表1.fieldbyname( 'xm')。アステリング:= edit1.text;
表1.fieldbyname( 'photo')。assign(image1.picture);
表1.post;
表1.refresh;
終わり;
終わり。