請問如何用把word文檔存入sql數據庫中,我用流存入了數據庫,但是要讀出來我就不知道怎麼調了,請教高手。
假設資料庫table1 有兩個欄位name 和 neirong(image欄位)
輸入name 選定neirong的所在目錄
通過name 搜索並導出neirong 中的文件
向欄位中保存文件
begin
if OpenDialog1.Execute then //“打開文件”對話方塊
begin
ADOTable1.insert; //或 ADOTable1.append;
ADOTable1.FieldByName('fname').AsString:=OpenDialog1.FileName; //保存檔案名
(ADOTable1.FieldByName('neirong') as TBlobField).LoadFromFile(OpenDialog1.FileName);
//直接將內容從文件倒入資料庫
ADOTable1.Post;
end;
end;
讀取欄位中的文件 (這段代碼不能實現,請問該怎麼編?)
var
bs:TMemoryStream;
fname: String;
begin
fname:=ADOTable1.FieldByName('fname').AsString; //讀取檔案名
bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);
//讀出內容到記憶體流
bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
假設資料庫table1 有兩個欄位name 和 neirong(image欄位)
輸入name 選定neirong的所在目錄
通過name 搜索並導出neirong 中的文件
向欄位中保存文件
begin
if OpenDialog1.Execute then //“打開文件”對話方塊
begin
ADOTable1.insert; //或 ADOTable1.append;
ADOTable1.FieldByName('fname').AsString:=OpenDialog1.FileName; //保存檔案名
(ADOTable1.FieldByName('neirong') as TBlobField).LoadFromFile(OpenDialog1.FileName);
//直接將內容從文件倒入資料庫
ADOTable1.Post;
end;
end;
讀取欄位中的文件 (這段代碼不能實現,請問該怎麼編?)
var
bs:TMemoryStream;
fname: String;
begin
fname:=ADOTable1.FieldByName('fname').AsString; //讀取檔案名
bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);
//讀出內容到記憶體流
bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
解决方案 »
- delphi7中TDBEdit控件在win7上出现的问题!
- TSocketConnection 的连接数
- delphi中$符号是什么意思?
- sqlserver数据导出的问题.
- FastReport 怎么快速入门??原来用QR的,最简单的就好,怎么做?能几分钟内会吗?
- 如何捕足ADOConnection连不上的异常,thank you .
- 求有关鞋业或服装业的进销存源代码....
- adoquery 的 filter 在低版本的系统文件下不能用> 可是在高的下是可以用的,那么要换那些文件
- 我想从8,10,45,80,2五个数中找出最大数,请问用什么函数?
- 关于TStringGrid显示数据。
- 如何实现像"金山网镖"哪样快速断开网络与恢复网络?
- 矩形转换为圆形
bs:TMemoryStream;
fname: String;
begin
fname:=ADOTable1.FieldByName('fname').AsString; //讀取檔案名
bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);
//讀出內容到記憶體流
bs.position := 0;(切记,一定要把position置为0,否则,默认在流的最后,当然读不到东西了) bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
bs:TMemoryStream;
fname: String;
begin
fname:=ADOTable1.FieldByName('fname').AsString; //讀取檔案名
bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);
//讀出內容到記憶體流
bs.position := 0;(切记,一定要把position置为0,否则,默认在流的最后,当然读不到东西了) bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
TBlobField(adoQryDocLibrary.FieldByName('FileContent')).LoadFromFile(FDocPathAndFileName); 下载(可以这么叫)
TBlobField(adoQryDocLibrary.FieldByName('FileContent')).SaveToFile(sdSavelFile.FileName);