给你个BCB的例子采用blob字段!
下面是一个网友的贴子:
读:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TBlobStream * pmem=new TBlobStream(pField,bmRead);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->LoadFromStream(pmem);
Image1->Picture->Assign(pBitmap);
delete pBitmap;
delete pmem;
写:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TBlobStream * pmem=new TBlobStream(pField,bmWrite);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->Assign(Image1->Picture->Graphic);
pBitmap->SaveToStream(pmem);
delete pBitmap;
delete pmem;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!
1.先求当前记录的BLOB字段的对象:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
2.从对象指针,建它的流指针:
TBlobStream * pmem=new TBlobStream(pField,bmRead、bmWrite、bmReadWrite);
有了大字段的流,什么都好办了;
3.pmem->SaveToFile("另一文件");
bitmap1->LoadFromStream(pmem);等, 流操作很丰富;
下面是一个网友的贴子:
读:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TBlobStream * pmem=new TBlobStream(pField,bmRead);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->LoadFromStream(pmem);
Image1->Picture->Assign(pBitmap);
delete pBitmap;
delete pmem;
写:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
TBlobStream * pmem=new TBlobStream(pField,bmWrite);
pmem->Seek(0,soFromBeginning);
Graphics::TBitmap * pBitmap=new Graphics::TBitmap();
pBitmap->Assign(Image1->Picture->Graphic);
pBitmap->SaveToStream(pmem);
delete pBitmap;
delete pmem;注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!
1.先求当前记录的BLOB字段的对象:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
2.从对象指针,建它的流指针:
TBlobStream * pmem=new TBlobStream(pField,bmRead、bmWrite、bmReadWrite);
有了大字段的流,什么都好办了;
3.pmem->SaveToFile("另一文件");
bitmap1->LoadFromStream(pmem);等, 流操作很丰富;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货