Auto Update

上网找了很多资料,关于自动升级的实现都是基于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写数据库应用好得没话说。

你可能感兴趣的:(Auto Update)