Datasnap中回传数据的几种方法

第一种方法:回传TDBXReader

TDBXReader* TDSSvrTest::GetReader() { TDBXReader* pRet; if(!pSQLConnect->Connected) pSQLConnect->Open(); if(FCmd == NULL) FCmd = pSQLConnect->DBXConnection->CreateCommand(); else FCmd->Close(); FCmd->CommandType = L"Dbx.SQL"; FCmd->Text = L"select * from aa"; pRet = FCmd->ExecuteQuery(); return pRet; }

 

TDBXReader* TDSSvrTest::GetReader1() { //std::auto_ptrpDataSet(new TSQLDataSet(NULL)); TDBXReader* pRet = NULL; TSQLDataSet *pDataSet = new TSQLDataSet(this); //if(pDataSet.get()) { pDataSet->SQLConnection = pSQLConnect; pDataSet->CommandText = L"select * from aa"; pDataSet->Open(); TDBXDataSetReader *DataSetReader = new TDBXDataSetReader(pDataSet,false); pRet = DataSetReader; } return pRet; }

 

TDataSet* TDSSvrTest::GetReader5() { if(!pSQLConnect->Connected) pSQLConnect->Open(); TSQLDataSet* pDataSet = new TSQLDataSet(this); pDataSet->SQLConnection = pSQLConnect; pDataSet->CommandText = L"select * from aa"; pDataSet->Open(); return (TDataSet*)pDataSet; }

 

TDataSet* TDSSvrTest::GetReader6() { TCustomSQLDataSet* aDataSet; if(!pSQLConnect->Connected) pSQLConnect->Open(); if(FCmd == NULL) FCmd = pSQLConnect->DBXConnection->CreateCommand(); else FCmd->Close(); FCmd->CommandType = L"Dbx.SQL"; FCmd->Text = L"select * from aa"; // pRet = FCmd->ExecuteQuery(); aDataSet = new TCustomSQLDataSet(this, FCmd->ExecuteQuery(), false); aDataSet->Open(); return (TDataSet*)aDataSet; }

 

你可能感兴趣的:(Datasnap)