請問如何用把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;
解决方案 »
- DBGrid,DBGridEH,CXGrid表格数据中一行数据上移或者下移一行
- 如何传递PSafeArray类型的参数
- 如何实现软件下栽,用短信收费?有没有挂靠在别的SP下的方法?
- 怎样让dll中的多个函数共享一个变量?
- TTreeView:想让它在可编辑的情况下(Readonly=false),不让它自身的编辑框出现(因为我想放个自已的编辑框),有没可能,怎样做?3Q
- SOS求救信号:捕获数据库连接错误的问题!
- 怪哉
- 讨论:把一个表写成一个类,把表的字段设为类的属性 的优缺点和必要性
- 如何把一个二进制文件读入byte数组中
- Thinks2
- 发布IP地址查询软件,欢迎捧场
- 使用ADO连接和ADOQuery时怎么更新数据库
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;