0
爲什麼不工作的代碼:數據庫圖像的TImage
保存圖像就是用這個代碼(也是我在報告中看到的圖像)的罰款:
gallery.append;
gallery.FieldByName('Image').Assign(pic.Picture.Bitmap);
gallery.post;
但是這個代碼:
Gallery.Insert;
S := CreateBlobStream(gallery.FieldByName('Image'), bmWrite);
Image1.Picture.Bitmap.SaveToStream(S);
gallery.Post;
S.Free;
導致錯誤「數據集未處於編輯或插入模式」。所以我用了第一個。
但得到它回到在TImage中的形式導致「無效的位圖格式」
var S : TStream ;
s := gallery.CreateBlobStream(gallery.FieldByName('Image'), bmRead);
Pic.Picture.Bitmap.LoadFromStream(S);
s.Free;
錯誤顯示任何圖像。我也嘗試了使用來自About.com的教程的DBimage,並不斷收到錯誤。 數據庫是Access 2010,圖像字段是OLE(blob)。 有點卡住了。
小號
嘗試將s的位置設置爲0後,從字段中讀取並在加載位圖之前,在最後一個片段中。 –
' var S:TStream; s:= gallery.CreateBlobStream(gallery.FieldByName('Image'),bmRead); s.position:= 0; Pic.Picture.Bitmap.LoadFromStream(S); s.Free; 仍然給出錯誤「位圖圖像無效」 – Sardukar
順便說一句大多數教程說我應該添加JPEG到我的用途......當我這樣做時,我得到的JPEG下劃線與紅色捲曲線與錯誤..所以我認爲教程已過時。 – Sardukar