Posted on 2006-10-21 14:42
小蚂蚁 阅读(153)
评论(0) 编辑 收藏 所属分类:
C++Builder 相关
上网找了很多资料,关于自动升级的实现都是基于web的,对我手头上的基于LAN的程序没有帮助,既然程序是数据库的应用,那为什么不把升级的程序放到数据库里呢?mysql的blob字段有长度限制,大概800K左右,要做分段处理,但BCB的Stream机制可以很方便的解决问题。
TMemoryStream* memStream = new TMemoryStream();
TFileStream* fStream = new TFileStream("update.exe",fmCreate);
while (!update->Eof)
{
update->GetBlob("Data")->SaveToStream(memStream);
memStream->SaveToStream(fStream);
update->Next();
}
delete memStream;
delete fStream;
多优雅的处理,BCB写数据库应用好得没话说。