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

如何才能做到將檔案放入SQL中和讀取??

尚未結案
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-02-16 17:30:04 IP:163.17.xxx.xxx 未訂閱
小弟小要將硬碟的資料存入SQL上,用到時再讀出來,無法限定檔案類型,不知道該如何做呢?? ======================== 我是DELPHI的初學者
pgdennis
資深會員


發表:41
回覆:526
積分:443
註冊:2002-05-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-02-16 18:51:46 IP:211.75.xxx.xxx 未訂閱
引言: 小弟小要將硬碟的資料存入SQL上,用到時再讀出來,無法限定檔案類型,不知道該如何做呢?? ======================== 我是DELPHI的初學者
1.請用"blob"關鍵字 搜尋本站 2.參考這行: TBlobField(Mqy.FieldByName('body')).SaveToFile(SaveDialog1.FileName); 存檔...反之LoadFromFile表示讀檔 永遠追不上技術更新的速度
------
星期一,二...無窮迴圈@@
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-02-17 09:25:40 IP:163.17.xxx.xxx 未訂閱
內資料庫中除了blob的欄位外,是否還需要一欄位來存放檔名呢?? ======================== 我是DELPHI的初學者
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-02-17 10:32:28 IP:163.17.xxx.xxx 未訂閱
以下是小弟目前失敗的寫法,不知該修正哪邊呢?? if OpenDialog1.Execute then begin lbFile1.Caption:=OpenDialog1.FileName; q1.Edit; TBlobField(q1.FieldByName('File1')).LoadFromFile(OpenDialog1.FileName); end; ======================== 我是DELPHI的初學者
hagar
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-02-17 14:06:28 IP:202.39.xxx.xxx 未訂閱
begin
  ...
  q1.Post;
end;
--- 將進酒 杯莫停
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-02-17 14:25:45 IP:163.17.xxx.xxx 未訂閱
小弟用此方法時出現了錯誤!! 'Invalid class typecast' 不知錯在哪裡?? ======================== 我是DELPHI的初學者
hagar
版主


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

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-02-17 14:36:27 IP:202.39.xxx.xxx 未訂閱
File1 欄位型態為何? 參考: http://delphi.ktop.com.tw/topic.php?topic_Id=39464 --- 將進酒 杯莫停
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-02-17 14:41:34 IP:163.17.xxx.xxx 未訂閱
FILE1的類型為varbinary(也試過binary)(MS SQL2000) ======================== 我是DELPHI的初學者
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-02-17 15:02:56 IP:163.17.xxx.xxx 未訂閱
參考參考: http://delphi.ktop.com.tw/topic.php?topic_Id=39464 但是小弟是使用DELPHI5, procedure TfrmThree_A_Data.s3Click(Sender: TObject); var   fstrm:TFileStream;   BS:TBlobStream; begin   with q2 do begin     with sql do begin       clear;       Add('select * from sal_letter');       Add('where LETTER_NO=:no');     end;     ParamByName('no').AsString := LETTER_NO.Text;     ExecSQL;     open;   end;   if OpenDialog1.Execute then   begin     fstrm:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead OR fmShareDenyWrite);     fstrm.Seek(soFromBeginning,0);     q2.Edit;     BS:=TBlobStream.Create(CREATEBLOBSTREAM(q2.FIELDBYNAME('FILE1')),bmWrite);     BS.CopyFrom(fstrm,0);     BS.Free;       q2.post;    end; CREATEBLOBSTREAM有問題?? ======================== 我是DELPHI的初學者
jch
中階會員


發表:111
回覆:224
積分:66
註冊:2003-12-01

發送簡訊給我
#10 引用回覆 回覆 發表時間:2004-02-17 15:55:15 IP:163.17.xxx.xxx 未訂閱
小弟將欄位類型改為Image只用一航程式就搞定了喔!!多謝大哥的幫忙!! TBlobField(q2.FieldByName('FILE1')).LoadFromFile(OpenDialog1.FileName); ======================== 我是DELPHI的初學者
系統時間:2024-04-27 4:08:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!