用TBlobField。可在Delphi的帮助中敲入该关键字查找。
解决方案 »
- 如何加载和卸载带有窗口的DLL
- 用idhttp.get时怎样把保存在IdCookieManager1里的cookie带上,这样就能正确访问网页了!前辈指点!!
- 请教一个,加载控件的问题!!(在线等!)
- 请问:怎样一次执行多条sql语句?
- 用什么语句关闭程序,可以将资源完全释放?
- Clipboard问题
- win8 delphi2007 intraweb11.0.58无法制作web程序
- :Quick Report中寫sql語句的問題????海牛/大米周/flowersun你们都在吗??
- 看一下TGraphicControl继承下来的控件难题怎解决
- D7 下生成二维码的问题
- 一个超高难度的问题!(高分求解)
- 我不知道怎么问,进来看了就知道
TMemoryStream;
要点如下:
var
ms:TMemorystream;
begin
ms:=Tmemorystream.create;
TBlobfield(query1.fieldbyname('')).savetosteam(ms);
ms.position:=0;
//然后用你要用来显示图片的控件来导入它:控件。loadfromstream(ms);
ms.free;
end;
下面是一个网友的贴子:
读:
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;
pField->Post();注意:一定要用此方法进行读写,因为实际上它是以二进制流的方式存入数据库!
1.先求当前记录的BLOB字段的对象:
TBlobField * pField=(TBlobField *)pQuery->FieldByName("Image");
2.从对象指针,建它的流指针:
TBlobStream * pmem=new TBlobStream(pField,bmRead、bmWrite、bmReadWrite);
有了大字段的流,什么都好办了;
3.pmem->SaveToFile("另一文件");
bitmap1->LoadFromStream(pmem);等, 流操作很丰富;