全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1129
推到 Plurk!
推到 Facebook!

update影像檔

答題得分者是:hagar
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-07 18:17:35 IP:203.162.xxx.xxx 未訂閱
請教各位高手,我要寫一個upload圖片的程式 Form1 有 Edit1, Image, button1, OpenpictureDialog1,table1, query1 當使用者按下button時,OpenpictureDialog會出現,使用者可以選擇圖片.我會比對edit1的id是否已經存在,如還沒就新增. Table1.append; Table1.FieldByName('id').AsString:=Edit1.text; Table1.FieldByname('ImageName').AsString := extractfilename(OpenPictureDialog1.filename); TBlobField(Table1.FieldByName('images')).loadfromfile(OpenPictureDialog1.filename); Table1.post; Image1.Picture.LoadFromFile(OpenPictureDialog1.filename); 新增是沒問題,但如果用query 來 update的話,會出現error.請問有那位知道寫法嗎? 謝謝~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-07 18:52:56 IP:202.39.xxx.xxx 未訂閱
var
  bs: TBlobStream;
begin
  Query1.Edit;
  try
    bs := Query1.CreateBlobStream(Table1.FieldByName('Images'), bmWrite);
    try
      Image1.Picture.SaveToStream(bs);
    finally
      bs.Free;
    end;
    Query1.Post;
  except
    Query1.Cancel;
    raise;
  end;
end;
還是您出現了什麼 Error 訊息? --- 奉行寶蘭主義 服從天使領導 保衛各版安全 完成KTop大業 發表人 - hagar 於 2003/07/07 18:54:57
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-08 10:24:24 IP:61.66.xxx.xxx 未訂閱
引言: 請教各位高手,我要寫一個upload圖片的程式 Form1 有 Edit1, Image, button1, OpenpictureDialog1,table1, query1 當使用者按下button時,OpenpictureDialog會出現,使用者可以選擇圖片.我會比對edit1的id是否已經存在,如還沒就新增. Table1.append; Table1.FieldByName('id').AsString:=Edit1.text; Table1.FieldByname('ImageName').AsString := extractfilename(OpenPictureDialog1.filename); TBlobField(Table1.FieldByName('images')).loadfromfile(OpenPictureDialog1.filename); Table1.post; Image1.Picture.LoadFromFile(OpenPictureDialog1.filename); 新增是沒問題,但如果用query 來 update的話,會出現error.請問有那位知道寫法嗎? 謝謝~
你用的是db或dbf檔嗎? 如果是, 使用query來做為更新的話, 要搭配updateSQL元件及query的cacheupdate與requestlive都要為true才能更新!
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-08 11:32:40 IP:203.162.xxx.xxx 未訂閱
謝謝大家~ 我後來用TABLE去UPDATE就是現用LOCATE去檢查TABLE中是否有那筆資料,再用TABLE.EDIT去改.... 這樣就可以了 QUERY的還是有ERROR... Query1.close; Query1.SQL.clear; Query1.SQL.add('update shippingmarks'); Query1.SQL.add('set ImageName = :N, TBlobField(Query1.FieldByName('IMAGE')).loadfromfile(OpenPictureDialog1.filename)'); Query1.SQL.add('where ID = :H'); Query1.ParamByname('N').AsString := extractfilename(OpenPictureDialog1.filename); TBlobField(Query1.ParamByName('M')).loadfromfile(OpenPictureDialog1.filename); Query1.ParamByname('H').AsString := Edit30.text; Query1.Prepare; Query1.open;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-08 12:46:19 IP:202.39.xxx.xxx 未訂閱
  Query1.close;
  Query1.SQL.clear;
  Query1.SQL.add('update shippingmarks');
  Query1.SQL.add('set ImageName = :N, Images = :M');
  Query1.SQL.add('where ID = :H');
  Query1.ParamByname('N').AsString := extractfilename(OpenPictureDialog1.filename);
  TBlobField(Query1.ParamByName('M')).loadfromfile(OpenPictureDialog1.filename);
  Query1.ParamByname('H').AsString := Edit30.text;
  Query1.Prepare;
  Query1.ExecSQL;
--- 奉行寶蘭主義 服從天使領導 保衛各版安全 完成KTop大業
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-07-09 11:01:22 IP:203.162.xxx.xxx 未訂閱
thank you hagar~
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-07-10 17:53:06 IP:203.162.xxx.xxx 未訂閱
hi hagar,請問你一下:我有你的方法可以了,可是當image 的 height或width around 180 時,在儲存時出現 TBlob length error. 我的資料庫設定image 的datatype 是image, lenght 16. 是那個地方錯了.....~~~~ (如果image大小在50以內都沒問題) 我用的是bmp檔
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-07-10 18:11:56 IP:202.39.xxx.xxx 未訂閱
執行 BDE, 在 Configuration 頁中 加大 Blob Size 的值試試 --- --<-<-<@
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-07-10 18:43:12 IP:203.162.xxx.xxx 未訂閱
hi hagar,還是不行說~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-07-10 18:50:21 IP:202.39.xxx.xxx 未訂閱
Blob To Cache 這項也加大呢? --- --<-<-<@
selina
一般會員


發表:39
回覆:64
積分:20
註冊:2002-12-05

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-07-11 12:12:04 IP:203.162.xxx.xxx 未訂閱
還是不行說~~~
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-07-11 13:05:00 IP:202.39.xxx.xxx 未訂閱
那直接設定 TDatabase 元件的 Param 屬性呢? --- --<-<-<@
系統時間:2024-06-27 0:44:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!