关于WORD在MSSQL中的存取问题!季老大及斑竹请留意!
如上所说,数据库是MSSQL、字段类型是Binary。请问我怎么将一个WORD文档存入数据库?又怎么将它取出来,可以是先生成临时WORD文件,也可以直接调用OLE打开?请大家帮忙!
存文件(没问题):
if(!OpenDialog1->Execute())
return;
TMemoryStream *tmpStream = new TMemoryStream();
tmpStream->LoadFromFile(OpenDialog1->FileName);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("INSERT INTO tblDocument (name,Doc) VALUES(:p_name,:p_Doc)");
Query1->ParamByName("p_name")->AsString = OpenDialog1->FileName;
Query1->ParamByName("p_Doc")->LoadFromStream(tmpStream,ftBlob);
Query1->ExecSQL();
delete tmpStream;
取文件(出错):
TMemoryStream *memStream = new TMemoryStream;
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select Doc from tblDocument");
Query1->Open();
TBlobField *tmpField = (TBlobField *)Query1->Fields->Fields[0];
tmpField->SaveToStream(memStream);
delete memStream;
请大家帮忙!谢谢!