不会罢?你把Word文档当成普通二进制文件还是按照BLOB类型来保存阿,应该没有问题的。是不是这里
filestream.LoadFromFile(opendialog1.FileName);OpenDialog1里只能选择Tet文件?
filestream.LoadFromFile(opendialog1.FileName);OpenDialog1里只能选择Tet文件?
解决方案 »
- insert into语句的语法错误!
- 求水晶报表VCL9.2的帮助文挡.
- 谁能提供一个简单的用socket连接的例子
- 请问DELPHI里面的热键在哪里查询 比如 我想把一段代码(很多行) 一起向后走3个空格 请问用什么组合键
- 请问怎么使用 TWebBrowser,能给具体的例子吗?找不到资料
- 请教,access2000+ado如何解决使用者安装目录与我开发目录不同的问题
- 如何提高查询速度?
- 一个很基本的问题?大家多帮忙。
- 关于dbcombobox的使用问题
- 请问——什么样的水平才能算是可以找一份程序设计的工作?(谢了先)
- 怎样实现从数据表中查询,并把符合条件的某一值符给我自己定义的全局变量,(附代码)
- 帮帮忙忙了
var
MemSize:Integer;
Buffer:PChar;
MyFile:TFileStream;
Stream:TBlobStream;
Filename:String;
begin
MyFile := TFileStream.Create(str_FileName,fmOpenRead);
with tbl_name do
begin
Stream := TBlobStream.Create(Fieldbyname(field_name)as TBlobField,bmWrite);
MemSize := MyFile.Size;
Inc(MemSize);
Buffer := AllocMem(MemSize);
try
Stream.Seek(0,soFromBeginning);
MyFile.Read(Buffer^,MemSize);
Stream.Write(Buffer^,MemSize);
finally
MyFile.Free;
Stream.Free;
end;
end;
procedure TForm_ProjectDoc.BB_ADDClick(Sender: TObject);
var
dName:string;
fStream:TFileStream;
bStream:TStream;
begin
if OD_selDoc.Execute then
begin
T_ProjectDoc.Open;
dName:=ExtractFileName(OD_SelDoc.filename);
try
FStream:=TFileStream.Create(Od_SelDoc.filename,fmOpenRead);
T_projectDoc.append;
T_ProjectDoc.FieldByName('P_Id').asinteger:=CurPrjId;
T_ProjectDoc.FieldByName('Doc_name').asString:=Dname;
try
BStream := T_ProjectDoc.CreateBlobStream(T_ProjectDocDoc_Value, bmReadWrite);
try
Bstream.CopyFrom(fStream,Fstream.Size);
T_projectDoc.Post;
finally
T_ProjectDoc.Cancel;
UpdateView;
end;
finally
Bstream.Free;
end;
finally
Fstream.Free;
end;
T_ProjectDoc.close;
end;
end;procedure TForm_ProjectDoc.BB_ViewClick(Sender: TObject);
var
dname1,dName:string;
fStream:TFileStream;
bStream:TStream;
begin
if LB_Doc.ItemIndex=-1 then
exit;
T_ProjectdocRead.open;
DName1:=LB_Doc.Items[LB_Doc.ItemIndex];
if T_ProjectDocRead.Locate('p_id;Doc_Name',vararrayof([CurPrjId,Dname1]),[]) then
begin
DName:=extractFilepath(Application.exename)+'temp\'+LB_Doc.Items[LB_Doc.ItemIndex];
if FileExists(DName) then
deleteFile(DName);
try
FStream:=TFileStream.Create(DName,fmCreate);
try
bStream:=T_ProjectDocread.CreateBlobStream(T_ProjectDocReadDoc_Value, bmRead);
Fstream.copyfrom(BStream,Bstream.size);
finally
Bstream.Free;
end;
finally
Fstream.Free;
end;
if TempDocList.IndexOf(Dname1)=-1 then
TempDocList.Add(Dname1);
if shellExecute(handle,'open',pchar(Dname),nil,nil,sw_shownormal)=SE_ERR_NOASSOC then
showmessage('该类型文件没有指定关联程序,不能打开!');
end;
T_ProjectdocRead.close;
end;
Table1.Open; Table1.Append;
(Table1.FieldByName('text') as TBlobField).LoadFromFile(ReadFullName);
Table1.Post;