假設資料庫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.position := 0
bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
輸入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.position := 0
bs.SaveToFile(fname); //將記憶體流中的內容保存爲文件
bs.Free;
end;
TBlobField(ADOTable1.FieldByName('neirong')).SaveToStream(bs);
TBlobField(ADOTable1.FieldByName('neirong')).SaveToStream(bs);