線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2137
推到 Plurk!
推到 Facebook!

access顯示大型二進制傳到BCB資料庫

尚未結案
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-10-21 21:55:48 IP:220.132.xxx.xxx 未訂閱
如題~我想要顯示大型二進制,因為我想要存圖片或照片進去再去讀出來顯示在表單上,我之前是直接拿書上附的光碟後來找到他的照片欄位裡頭都是顯示大型二進制,可是我自己在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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-10-21 23:46:20 IP:221.169.xxx.xxx 未訂閱
引言: 如題~我想要顯示大型二進制,因為我想要存圖片或照片進去再去讀出來顯示在表單上,我之前是直接拿書上附的光碟後來找到他的照片欄位裡頭都是顯示大型二進制,可是我自己在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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-10-22 00:30:26 IP:220.132.xxx.xxx 未訂閱
Andy Chang先生~~想不到你的速率超快的~~可是我的速率超慢的~~你還是不厭其煩的指導我~~~真的是非常的感謝~~~~~~~可是看了站長大大的程式碼~~~~~ 還是搞不懂這樣可樣顯示說~~~因為這樣做好像會把(BLOB)取代原始資料~存在ACCESS裡的~~~那個TBlobField~~請你講一下是元件還是事件~~我看了說明還是看不懂~~!謝謝了~!
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-10-22 07:10:09 IP:220.134.xxx.xxx 未訂閱
引言: 可是看了站長大大的程式碼~~~~~ 還是搞不懂這樣可樣顯示說~~~因為這樣做好像會把(BLOB)取代原始資料~存在ACCESS裡的~~~那個TBlobField~~請你講一下是元件還是事件~~我看了說明還是看不懂~~!謝謝了~!
TBlobField不是元件也不是事件 是一種物件型態 應該說是一種欄位的型態 TBlobField(x)就是用來將x轉型為二進位的欄位型態 如此就會有.loadfromfile與.savetofile的方法了 ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-10-22 08:41:27 IP:221.169.xxx.xxx 未訂閱
引言:
引言: 可是看了站長大大的程式碼~~~~~ 還是搞不懂這樣可樣顯示說~~~因為這樣做好像會把(BLOB)取代原始資料~存在ACCESS裡的~~~那個TBlobField~~請你講一下是元件還是事件~~我看了說明還是看不懂~~!謝謝了~!
TBlobField不是元件也不是事件 是一種物件型態 應該說是一種欄位的型態 TBlobField(x)就是用來將x轉型為二進位的欄位型態 如此就會有.loadfromfile與.savetofile的方法了 ~~~Delphi K.Top討論區站長~~~
站長那麼起來回答問題,果然是爸爸級的新好男人! zivu;站長解釋非常詳細,我的話只會告訴你請見BCB->Help->搜尋TBlobField 請參考! Andy Chang
------
Andy Chang
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-10-24 00:06:37 IP:220.139.xxx.xxx 未訂閱
兩位高手~~~~~看了以後我還是不會做說~~~~~怎麼做就是都掛掉說~~~~~能麻煩寫一個小程式給我看嗎(可以的話盡量詳細一點)~~抱歉ㄌ~~~因為那個轉來轉去我還是不太懂~~~~~謝謝ㄌ~!
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-10-24 00:25:55 IP:221.169.xxx.xxx 未訂閱
zivu:這程式按你要求是沒問題的!我想你方便Post你程式嗎! 發問時程式碼請注意左上角版規縮格以利閱讀。 Andy Chang
------
Andy Chang
領航天使
站長


發表:12216
回覆:4186
積分:4084
註冊:2001-07-25

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-10-28 19:06:48 IP:220.134.xxx.xxx 未訂閱
引言: 抱歉~~~我怎麼做都還是做不出來~~~! 我是這樣做的~~就建一個按鈕~按下去後會執行那兩行程式碼 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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-10-28 19:09:40 IP:220.134.xxx.xxx 未訂閱
引言: 站長那麼起來回答問題,果然是爸爸級的新好男人! zivu;站長解釋非常詳細,我的話只會告訴你請見BCB->Help->搜尋TBlobField 請參考!
有一句話說:人愈老愈早起! 依您的年紀應該比我早起吧~~~^_^ ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-10-29 01:09:40 IP:221.169.xxx.xxx 未訂閱
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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2004-12-30 00:10:27 IP:218.168.xxx.xxx 未訂閱
SORRY~~!忘了我還沒結案~~!感謝領航站長跟ANDYCHEN的幫忙~~!我已經可以顯示大型二進制了~!例如圖片部分(.bmp) 做法有好幾步~~後來我才知道說兩位貼的程式碼其實在BCB裡頭是要用到Image或是DBimage~~並且還要有OpenDialog或是OpenPictureDialog然後在寫入幾行小程式碼~~讓程式執行過後~~!在把想要的圖放進去讀黨~他就會在ACCESS裡頭顯示大型二進制~~!不過DBImage如果直接用只能顯示.bmp的圖~~要顯示jpeg等要經過其他轉換~再者他的圖片容量很大~所以要用其他大大交的用DBEdit去轉換圖~使容量縮小~~!真是很抱歉領航站長跟ANDYCHEN~小弟因為忙著準備研究所~所以專題一做完就忘了還沒結案~~只能跟你們兩說聲對不起~~!請原諒我~!
zivu
一般會員


發表:11
回覆:28
積分:12
註冊:2004-04-29

發送簡訊給我
#12 引用回覆 回覆 發表時間:2004-12-30 00:11:48 IP:218.168.xxx.xxx 未訂閱
SORRY~~!忘了我還沒結案~~!感謝領航站長跟ANDYCHANG的幫忙~~!我已經可以顯示大型二進制了~!例如圖片部分(.bmp) 做法有好幾步~~後來我才知道說兩位貼的程式碼其實在BCB裡頭是要用到Image或是DBimage~~並且還要有OpenDialog或是OpenPictureDialog然後在寫入幾行小程式碼~~讓程式執行過後~~!在把想要的圖放進去讀黨~他就會在ACCESS裡頭顯示大型二進制~~!不過DBImage如果直接用只能顯示.bmp的圖~~要顯示jpeg等要經過其他轉換~再者他的圖片容量很大~所以要用其他大大交的用DBEdit去轉換圖~使容量縮小~~!真是很抱歉領航站長跟ANDYCHANG~小弟因為忙著準備研究所~所以專題一做完就忘了還沒結案~~只能跟你們兩說聲對不起~~!請原諒我~!
系統時間:2024-05-19 2:54:33
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!