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

怎樣將一個文檔(如Word文檔)存放到數據庫(sql server2000)里,?

尚未結案
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-23 13:01:35 IP:218.17.xxx.xxx 未訂閱
怎樣將一個文檔(如Word文檔)存放到數據庫(sql server2000)里,? 在需要時﹐再將它還原成文件存儲到硬盤上來開啟?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-23 14:58:11 IP:210.64.xxx.xxx 未訂閱
你好 先在資料庫中開立一個blob 或是 ole的欄位, 然後在畫面上放一個opendialog,放一個button在click中用下列語法,例如:
  if OpenDialog1.Execute then
  begin
    qrtmp.Open;
    qrtmp.Edit;
    qrtmpss2.LoadFromFile(OpenDialog1.FileName);
    qrtmp.Post;
  end;
就可以將word檔存到資料庫中 然後再放一個button 在裡面下 qrtmp.Open; qrtmpss2.SaveToFile('c:\tt.doc'); ShellExecute(handle, nil, 'c:\tt.doc', nil, nil, SW_SHOWNORMAL); 這樣會將資料庫中的word檔存到指定的路徑以及名稱中,然後用shellexecute去將word開啟!!如果你有需要記住之前檔案的路徑,建議可以開一個欄位將檔案路徑以及檔名都存進去!!這樣在開的時候就可以回到原來的路徑,或者是用一個Edit讓使用者自己之定路徑!!試試看吧!! Pillar Wang
------
Pillar Wang
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-24 08:24:56 IP:61.141.xxx.xxx 未訂閱
你好﹐ 謝謝你你回答﹐但有一點不明白﹐qrtmppss2是指什么?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-24 09:36:24 IP:210.64.xxx.xxx 未訂閱
不好意思 qrtmp是我用來測試的table ss2是bolb的欄位!! qrtmpss2.LoadFromFile(OpenDialog1.FileName);表示將檔案存到這個欄位中! qrtmpss2.SaveToFile('c:\tt.doc');表示要將欄位的資料寫到磁碟中 ShellExecute(handle, nil, 'c:\tt.doc', nil, nil, SW_SHOWNORMAL);利用api函數開啟剛剛指定寫到磁碟中的檔案!! 試試看吧!! Pillar Wang
------
Pillar Wang
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-24 10:11:26 IP:61.141.xxx.xxx 未訂閱
不好意思﹐ qrtmp 是一個TAdoQuery 或 TTable 類型的控件﹐但qrtmpss2是什么類型的控件呢?     如果要完整保存資料﹐qrtmp的結構可能是這樣 ss1,ss2 。ss1保存文件路徑和名稱﹐ss2是保存的文檔. qrtmp.sql.add('select * from qrtmp') qrtmp.append; qrtmp.fieldbyname('ss1').asstring:=OpenDialog1.FileName; .... qrtmp.post;        
引言: 不好意思 qrtmp是我用來測試的table ss2是bolb的欄位!! qrtmpss2.LoadFromFile(OpenDialog1.FileName);表示將檔案存到這個欄位中! qrtmpss2.SaveToFile('c:\tt.doc');表示要將欄位的資料寫到磁碟中 ShellExecute(handle, nil, 'c:\tt.doc', nil, nil, SW_SHOWNORMAL);利用api函數開啟剛剛指定寫到磁碟中的檔案!! 試試看吧!! Pillar Wang
發表人 - dialog 於 2005/05/24 10:13:29
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-24 10:36:05 IP:210.64.xxx.xxx 未訂閱
你好 qrtmp 是一個TAdoQuery 這樣的規劃是可行的!!到時候要開啟檔案時就可以直接用路徑開啟,但是我的建議最好讓使用者自己指定,因為存檔進去的路徑在別台電腦可能不存在!! Pillar Wang
------
Pillar Wang
dialog
一般會員


發表:33
回覆:18
積分:10
註冊:2002-09-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-05-24 11:13:32 IP:61.141.xxx.xxx 未訂閱
你好 你的建議很好﹐非常感謝您 ! 但是我始始終不知道 qrtmpss2 是什么型類的控件?
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-05-24 11:22:42 IP:210.64.xxx.xxx 未訂閱
你好 在資料庫設定欄位時,將欄位型態設定成Text就可以了!! Pillar Wang
------
Pillar Wang
系統時間:2024-06-18 14:57:50
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!