access顯示大型二進制傳到BCB資料庫 |
尚未結案
|
zivu
一般會員 發表:11 回覆:28 積分:12 註冊:2004-04-29 發送簡訊給我 |
如題~我想要顯示大型二進制,因為我想要存圖片或照片進去再去讀出來顯示在表單上,我之前是直接拿書上附的光碟後來找到他的照片欄位裡頭都是顯示大型二進制,可是我自己在access找了好久都找不到~麻煩各位高手指導了~~底下的網址是我看到一樣的問題~可是沒人解答~謝謝了
http://delphi.ktop.com.tw/topic.php?topic_id=49933 站長領航天使(Delphi)的範例的寫入的地方是
TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).loadfromfile(OpenPictureDialog1.filename);
讀出來的地方是
TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).savetofile(ApplicationPath ADOTable1.FieldByName('IMG_FILENAME').asstring); 請各位高手幫忙了~~想用BCB連到資料庫~完全不會delphi的我留
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言: 如題~我想要顯示大型二進制,因為我想要存圖片或照片進去再去讀出來顯示在表單上,我之前是直接拿書上附的光碟後來找到他的照片欄位裡頭都是顯示大型二進制,可是我自己在access找了好久都找不到~麻煩各位高手指導了~~底下的網址是我看到一樣的問題~可是沒人解答~謝謝了 http://delphi.ktop.com.tw/topic.php?topic_id=49933 站長領航天使(Delphi)的範例的寫入的地方是 TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).loadfromfile(OpenPictureDialog1.filename); 讀出來的地方是 TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).savetofile(ApplicationPath ADOTable1.FieldByName('IMG_FILENAME').asstring); 請各位高手幫忙了~~想用BCB連到資料庫~完全不會delphi的我留 zivu:我正要回給你,結果你開新主題了,這翻成BCB如下: TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).loadfromfile(OpenPictureDialog1.filename); TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).LoadFromFile("D:\\123.Bmp"); TBlobField(ADOTable1.FieldByName('IMG_FILEDATA')).savetofile(ApplicationPath ADOTable1.FieldByName('IMG_FILENAME').asstring); TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).SaveToFile("D:\\123.Bmp"); 請參考!Andy Chang
------
Andy Chang |
zivu
一般會員 發表:11 回覆:28 積分:12 註冊:2004-04-29 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 可是看了站長大大的程式碼~~~~~ 還是搞不懂這樣可樣顯示說~~~因為這樣做好像會把(BLOB)取代原始資料~存在ACCESS裡的~~~那個TBlobField~~請你講一下是元件還是事件~~我看了說明還是看不懂~~!謝謝了~!TBlobField不是元件也不是事件 是一種物件型態 應該說是一種欄位的型態 TBlobField(x)就是用來將x轉型為二進位的欄位型態 如此就會有.loadfromfile與.savetofile的方法了 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
引言:站長那麼早起來回答問題,果然是爸爸級的新好男人! zivu;站長解釋非常詳細,我的話只會告訴你請見BCB->Help->搜尋TBlobField 請參考! Andy Chang引言: 可是看了站長大大的程式碼~~~~~ 還是搞不懂這樣可樣顯示說~~~因為這樣做好像會把(BLOB)取代原始資料~存在ACCESS裡的~~~那個TBlobField~~請你講一下是元件還是事件~~我看了說明還是看不懂~~!謝謝了~!TBlobField不是元件也不是事件 是一種物件型態 應該說是一種欄位的型態 TBlobField(x)就是用來將x轉型為二進位的欄位型態 如此就會有.loadfromfile與.savetofile的方法了 ~~~Delphi K.Top討論區站長~~~
------
Andy Chang |
zivu
一般會員 發表:11 回覆:28 積分:12 註冊:2004-04-29 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 抱歉~~~我怎麼做都還是做不出來~~~! 我是這樣做的~~就建一個按鈕~按下去後會執行那兩行程式碼 TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).LoadFromFile("D:\\123.Bmp"); TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).SaveToFile("D:\\123.Bmp"); 在表單上我放了ADOTable1~還有DataSource跟DBGrid~並且在資料表裡頭命名了 IMG_FILEDATA這欄位~~接著一跑後~~發現就掛了~~然後DBGrid裡頭那個欄位的資料就改成[Blob]~~好像是改成這個字~~~ 謝謝你們一直幫忙我~~可是我還是弄不出來~哀~! 發表人 - zivu 於 2004/10/28 17:56:02站長沒玩過BCB 不過聽您說執行後就掛了 直覺上是因為Access出現鍵值違規(Key值重複) 在Access的資料中如果出現鍵值重複就會死當 請檢查您的資料表中是否有Primary Key ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
zivu: TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).LoadFromFile("D:\\123.Bmp"); TBlobField(ADOTable1->FieldByName("IMG_FILEDATA")).SaveToFile("D:\\123.Bmp"); 改為: ((TBlobField *)(ADOTable1->FieldByName("IMG_FILEDATA")))->LoadFromFile("D:\\123.Bmp"); ((TBlobField *)(ADOTable1->FieldByName("IMG_FILEDATA")))->SaveToFile("D:\\123.Bmp"); 請參考! P.S.天使站長的大型圖檔存入資料庫的示範程式又翻成了BCB!Andy Chang 發表人 - andychang1690 於 2004/10/29 01:12:13
------
Andy Chang |
zivu
一般會員 發表:11 回覆:28 積分:12 註冊:2004-04-29 發送簡訊給我 |
SORRY~~!忘了我還沒結案~~!感謝領航站長跟ANDYCHEN的幫忙~~!我已經可以顯示大型二進制了~!例如圖片部分(.bmp)
做法有好幾步~~後來我才知道說兩位貼的程式碼其實在BCB裡頭是要用到Image或是DBimage~~並且還要有OpenDialog或是OpenPictureDialog然後在寫入幾行小程式碼~~讓程式執行過後~~!在把想要的圖放進去讀黨~他就會在ACCESS裡頭顯示大型二進制~~!不過DBImage如果直接用只能顯示.bmp的圖~~要顯示jpeg等要經過其他轉換~再者他的圖片容量很大~所以要用其他大大交的用DBEdit去轉換圖~使容量縮小~~!真是很抱歉領航站長跟ANDYCHEN~小弟因為忙著準備研究所~所以專題一做完就忘了還沒結案~~只能跟你們兩說聲對不起~~!請原諒我~!
|
zivu
一般會員 發表:11 回覆:28 積分:12 註冊:2004-04-29 發送簡訊給我 |
SORRY~~!忘了我還沒結案~~!感謝領航站長跟ANDYCHANG的幫忙~~!我已經可以顯示大型二進制了~!例如圖片部分(.bmp)
做法有好幾步~~後來我才知道說兩位貼的程式碼其實在BCB裡頭是要用到Image或是DBimage~~並且還要有OpenDialog或是OpenPictureDialog然後在寫入幾行小程式碼~~讓程式執行過後~~!在把想要的圖放進去讀黨~他就會在ACCESS裡頭顯示大型二進制~~!不過DBImage如果直接用只能顯示.bmp的圖~~要顯示jpeg等要經過其他轉換~再者他的圖片容量很大~所以要用其他大大交的用DBEdit去轉換圖~使容量縮小~~!真是很抱歉領航站長跟ANDYCHANG~小弟因為忙著準備研究所~所以專題一做完就忘了還沒結案~~只能跟你們兩說聲對不起~~!請原諒我~!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |