C++ 创建从sql到图片的blob流

C++ 创建从sql到图片的blob流,c++,builder,C++,Builder,我需要从cpp导入数据,而不是dfm文件 现在我有了这样的东西: bool __fastcall TBrowseXXX::ShowImage(bool Load) { float h,w,Ih,Iw,p,r; AnsiString s = ""; if(MyState!=MS_SHOWN) return false; LabelImage->Visible = false; if(DataZDJECIA->DataSet->FieldByName("X_ZDJECIE")-&g

我需要从cpp导入数据,而不是dfm文件

现在我有了这样的东西:

bool __fastcall TBrowseXXX::ShowImage(bool Load)
{
float h,w,Ih,Iw,p,r;
AnsiString s = "";
if(MyState!=MS_SHOWN) return false;
LabelImage->Visible = false;
if(DataZDJECIA->DataSet->FieldByName("X_ZDJECIE")->IsNull==false){
    Image1->Visible = false;
    if(Load==true){

        TStream *Stream = DataZDJECIA->DataSet->CreateBlobStream(DataZDJECIA->DataSet->FieldByName("X_ZDJECIE"), bmReadWrite);
              Image1->FileName = DB.GetFile("esystem","TOWPLIKI","PLIK",DataZDJECIA->DataSet->FieldByName("REF")->AsInteger);
        try{
            if (Stream) {
                Image1->Picture->LoadFromStream(Stream);
                Image1->Visible = true;
            }
        }catch(...){
        }
        delete Stream;
    }
   Image1->Visible=true;
   return Image1->Visible;
   }
但我不想在dfm文件中使用对象:

试试这个

   bool __fastcall TBrowseTOWARY::ShowImage(bool Load)
   {
   float h,w,Ih,Iw,p,r;
   if(MyState!=MS_SHOWN) return false;
   LabelImage->Visible = false;

   AnsiString SQL = "select X_ZDJECIE from TOWPLIKI where ref = 5982";
   TStream *image;
   TStringList *sql;
   sql = new TStringList;
   sql->Add(SQL);

  if(DB.OpenQuery("esystem","TOWPLIKI",sql)) {
  DB.CheckDataSetActive(DB.GetQuery("esystem","TOWPLIKI"));
    image = DB.GetQuery("esystem","TOWPLIKI")->DataSet->CreateBlobStream(DB.GetQuery("esystem","TOWPLIKI")->DataSet->FieldByName("X_ZDJECIE"), bmReadWrite);
    DB.CloseQuery("esystem","TOWPLIKI");
  }

  delete sql;
  Image1->Picture->LoadFromStream(image);
 Image1->Visible=true;
 return Image1->Visible;
 }
我有[BCC32 Error]Browtowary.cpp(359):E2316“数据集”不是“TDataSet”的成员:(