如何使用TADOBlobStream讀SQL 2000 Binary欄位 |
尚未結案
|
godspeedx10
一般會員 發表:9 回覆:25 積分:6 註冊:2002-04-22 發送簡訊給我 |
諸位前輩大家好:
我查詢之前有關讀取Blob欄位的文章,都只有BDE的範例,希望有前輩能指導ADO DataSet的作法,非常謝謝。問題如下:
環境:Win2000、Delphi5、SQL2000 Binary Field、ADO DataSet
以下的程式執行時會產生錯誤訊息 'Variable is not an array'
procedure ReadBlobField; var BlobStream: TADOBlobStream; begin with RealTimeForm do begin try BlobStream := TADOBlobStream.Create(TBlobField(dsSensor.FieldByName('Bianry Field')), bmRead); finally BLobStream.Free; end; end; end; |
godspeedx10
一般會員 發表:9 回覆:25 積分:6 註冊:2002-04-22 發送簡訊給我 |
|
wnhoo
高階會員 發表:75 回覆:443 積分:198 註冊:2003-04-22 發送簡訊給我 |
以下代码供参考
TADOBlobStream.Create(adodataset1.fieldbyname('Bianry Field')) as TBlobField,bmRead)
如下: procedure ReadBlobField;
var BlobStream: TADOBlobStream;
begin
with RealTimeForm do
begin
try BlobStream := TADOBlobStream.Create(adodataset1.fieldbyname('Bianry Field')) as TBlobField,bmRead); finally BLobStream.Free; end;
end;
end; 风花雪月 e梦情缘
------
风花雪月 e梦情缘 |
godspeedx10
一般會員 發表:9 回覆:25 積分:6 註冊:2002-04-22 發送簡訊給我 |
非常感謝您的回答,真是令人驚喜!當初這個版尚未有結案的制度,過了一段日子,我找到答案後也忘了回來說明,實在不好意思!
我將一個Binary檔先寫入Stream,以TBlobField(dsDataSet.FieldByName('欄位名')).LoadFromStream(fileStream)存入SQL 2000的一個Binary欄位,一切正常,然後用Stream := dsDataSet.CreateBlobStream(dsDataSet.FieldByName('欄位名'),bmRead)的方式讀取至Stream,我認為天經地義的事卻一直都出現問題,也找不到答案,算了把Binary欄位定義改成Image,問題解決了,也不知是何原因!
您的代碼也是對的,非常感謝!
引言: 以下代码供参考 TADOBlobStream.Create(adodataset1.fieldbyname('Bianry Field')) as TBlobField,bmRead) 如下: procedure ReadBlobField; var BlobStream: TADOBlobStream; begin with RealTimeForm do begin try BlobStream := TADOBlobStream.Create(adodataset1.fieldbyname('Bianry Field')) as TBlobField,bmRead); finally BLobStream.Free; end; end; end; 风花雪月 e梦情缘 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |