在delphi k.top中得到一篇文章http://delphi.ktop.com.tw/topic.asp?TOPIC_ID=66207
?>
我在SQL SERVER 2000中的一個資料表中的一個欄位訂義為IMAGE
但DELPHI中如何將圖形傳送至SQL SERVER儲存
Insert Into ASS (A) Values(:f0)
Params[0].Datatype := ?
Params[0].paramType := PtInput ;
Params[0].Value := ?
!>
試試:
1.ftBlob
2.Params[0].LoadFromFile('c:/xx.bmp');
?>
會出現 Not enough actual parameters 之錯誤訊息
!>
Params[0].LoadFromFile('c:/xx.bmp', ftBlob);
或
Params[0].LoadFromFile('c:/xx.bmp', ftGraphic);
其中:
ftBlob: Binary Large Object field
ftGraphic : Bitmap field
?>
那請問下載時如何load到TIMAGE中
!>
在 Query1 的 AfterScroll 事件裡
不過這只適何 Bitmap 圖
procedure TForm1.Query1AfterScroll(Sender: TDataset);
var
ms: TMemoryStream;
begin
ms := TMemoryStream.Create;
try
TBlobField(Query1.FieldByName('ImageField')).SaveToStream(ms);
ms.Position := 0;
Image1.Picture.Bitmap.LoadFromStream(ms);
finally
ms.Free;
end;
end;
Jpg 圖的話:
uses Jpeg;
procedure TForm1.Query1AfterScroll(Sender: TDataset);
var
ms: TMemoryStream;
jpg: TJpegImage;
begin
ms := TMemoryStream.Create;
jpg := TJpegImage.Create;
try
TBlobField(Query1.FieldByName('ImageField')).SaveToStream(ms);
ms.Position := 0;
jpg.LoadFromStream(ms);
Image1.Picture.Bitmap.Assign(jpg);
finally
jpg.Free;
ms.Free;
end;
end;