| 269 | === Interface IfeatureReader === |
| 270 | |
| 271 | {{{ |
| 272 | /// \brief |
| 273 | /// The FdoIFeatureReader interface provides a forward-only, read-only iterator |
| 274 | /// for reading feature data. A reference to an FdoIFeatureReader is returned |
| 275 | /// from the Select and SelectAndLock commands. Because the initial position of the |
| 276 | /// FdoIFeatureReader is prior to the first item, you must call |
| 277 | /// ReadNext to begin accessing any data. |
| 278 | class FdoIFeatureReader: public FdoIReader |
| 279 | { |
| 280 | public: |
| 281 | ... |
| 282 | ... |
| 283 | ... |
| 284 | /// \brief |
| 285 | /// Gets the number of properties in the result set. |
| 286 | /// |
| 287 | /// \return |
| 288 | /// Returns the number of columns. |
| 289 | /// |
| 290 | FDO_API virtual FdoInt32 GetPropertyCount(); |
| 291 | |
| 292 | /// \brief |
| 293 | /// Gets the name of the property at the given ordinal position. |
| 294 | /// |
| 295 | /// \param index |
| 296 | /// Input the position of the property. |
| 297 | /// |
| 298 | /// \return |
| 299 | /// Returns the property name |
| 300 | /// |
| 301 | FDO_API virtual FdoString* GetPropertyName(FdoInt32 index); |
| 302 | |
| 303 | /// \brief |
| 304 | /// Gets the type of the property at the given ordinal position. |
| 305 | /// |
| 306 | /// \param index |
| 307 | /// Input the position of the property. |
| 308 | /// |
| 309 | /// \return |
| 310 | /// Returns the type of the property. |
| 311 | /// |
| 312 | FDO_API virtual FdoPropertyType GetPropertyType(FdoInt32 index); |
| 313 | |
| 314 | /// \brief |
| 315 | /// Gets the data type of the property at the specified ordinal position. |
| 316 | /// |
| 317 | /// \param index |
| 318 | /// Input the index of the property. |
| 319 | /// |
| 320 | /// \return |
| 321 | /// Returns the data type of the property. |
| 322 | /// |
| 323 | FDO_API virtual FdoDataType GetDataType(FdoInt32 index) |
| 324 | |
| 325 | /// \brief |
| 326 | /// Gets the geometry value of the property, at the specified index, |
| 327 | /// as a byte array in FGF format. Because no conversion is performed, |
| 328 | /// the property must be of Geometric type; otherwise, an exception is thrown. |
| 329 | /// This method is a language-specific performance optimization that returns a |
| 330 | /// pointer to the array data, rather than to an object that encapsulates |
| 331 | /// the array. The array's memory area is only guaranteed to be valid |
| 332 | /// until a call to ReadNext() or Close(), or the disposal of this reader |
| 333 | /// object. |
| 334 | /// |
| 335 | /// \param index |
| 336 | /// Input the index of the property. |
| 337 | /// \param count |
| 338 | /// Output the number of bytes in the array. |
| 339 | /// |
| 340 | /// \return |
| 341 | /// Returns a pointer to the byte array in FGF format. |
| 342 | /// |
| 343 | FDO_API virtual const FdoByte * GetGeometry(FdoInt32 index, FdoInt32* count); |
| 344 | |
| 345 | /// \brief |
| 346 | /// Gets the geometry value of the property, at the specified index, as a |
| 347 | /// byte array in FGF format. Because no conversion is performed, the |
| 348 | /// property must be of Geometric type; otherwise, an exception is thrown. |
| 349 | /// |
| 350 | /// \param index |
| 351 | /// Input the index of the property. |
| 352 | /// |
| 353 | /// \return |
| 354 | /// Returns the byte array in FGF format. |
| 355 | /// |
| 356 | FDO_API virtual FdoByteArray* GetGeometry(FdoInt32 index); |
| 357 | |
| 358 | /// \brief |
| 359 | /// Gets a reference to an FdoIFeatureReader to read the data contained in |
| 360 | /// the object or object collection property defined at the specified index |
| 361 | /// position. If the property is not an object property, an exception is thrown. |
| 362 | /// |
| 363 | /// \param index |
| 364 | /// Input the index of the property. |
| 365 | /// |
| 366 | /// \return |
| 367 | /// Returns the nested feature reader |
| 368 | /// |
| 369 | FDO_API virtual FdoIFeatureReader* GetFeatureObject(FdoInt32 index); |
| 370 | }; |
| 371 | }}} |