一个本地文件入库的问题

dishangxue 2006-04-26 10:20:05
我要实现把本地硬盘上的文件(.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;
}} */
...全文
139 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CACACACACA 2006-04-27
  • 打赏
  • 举报
回复
可以.
THandleStream *fileStream;
换成TMemoryStream感觉更方便.

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧