一个本地文件入库的问题
我要实现把本地硬盘上的文件(.txt)整体存入数据库表(indexfile(filekey,filebody))的功能.我的想法是把一个文件转成tfilestream,再考到tblobstream中,然后存入数据库。下面的代码要怎么改才对?这个想法能不能实现这个功能?最有效的思路是什么样的?谢谢。
void __fastcall TForm3::Button1Click(TObject *Sender)
{ int n;
String msg("您确定要将所选文件存入数据库吗?");
n=MessageBox(Handle,msg.c_str(),Application->Title.c_str(),MB_YESNO|MB_ICONINFORMATION);
//文件入库
if(n==6)
{// EnterBata(str);
/*void EnterBata(AnsiString FileName)
{
int fileHandle;
THandleStream *fileStream;
TBlobStream *blobStream;
fileHandle=FileOpen(str,fmOpenRead);
if(fileHandle==-1) return;//开文件出错
fileStream=new THandleStream(fileHandle);
//字符流拷贝
try
{
blobStream=new TBlobStream(Newfilename,fmCreate);
try
{blobStream->CopyFrom(fileStream,fileStream->Size );
}
__finally
{FreeAndNil(blobStream);
}
}
__finally
{FreeAndNil(fileStream);
}
}
//流入库
TBolbStream *TemplateStream;
if (!Query1->Eof)
{Query1->Next();
TemplateStream=new TBlobStream((TBlodField*)Query1->FieldByName("FileBody"),bmReadWrite);
if(TemplatePtr!=NULL)
{ Query1->Edit();
TemplateStream->Write(blobStream,TemplateStream->Size);
Query1->Post();
Query1->RequestLive=false;
delete TemplateStream;
}} */