FDO .NET API Reference Feature Data Objects

mgIDataReaderImp.h

Go to the documentation of this file.
00001 /*
00002 * Copyright (C) 2004-2006  Autodesk, Inc.
00003 * 
00004 * This library is free software; you can redistribute it and/or
00005 * modify it under the terms of version 2.1 of the GNU Lesser
00006 * General Public License as published by the Free Software Foundation.
00007 * 
00008 * This library is distributed in the hope that it will be useful,
00009 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 * Lesser General Public License for more details.
00012 * 
00013 * You should have received a copy of the GNU Lesser General Public
00014 * License along with this library; if not, write to the Free Software
00015 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00016 *
00017 */
00018 
00019 #pragma once
00020 
00021 #include "FDO\Commands\Feature\mgIReaderImp.h"
00022 #include "FDO\Commands\Feature\mgIDataReader.h"
00023 
00024 #include "FDO\Schema\mgDataType.h"
00025 #include "FDO\Schema\mgPropertyType.h"
00026 
00027 class FdoIDataReader;
00028 
00029 BEGIN_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00030 
00031 /// \ingroup (OSGeoFDOCommandsFeature)
00032 /// \brief
00033 /// The IDataReaderImp class is a concrete implementation class for 
00034 /// IDataReader. The IDataReader interface provides a forward-only, read-only
00035 /// iterator for reading relational table data. A reference to an
00036 /// IDataReader is returned from the SQLCommands ExecuteReader method.
00037 /// The initial position of the IDataReader interface is prior to the first item.
00038 /// Thus, you must call ReadNext to begin accessing any data.
00039 private __gc class IDataReaderImp : public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReaderImp, public NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IDataReader
00040 {
00041 public:
00042     /// \brief
00043     /// Gets the number of propertys in the result set.
00044     /// 
00045     /// \return
00046     /// Returns the number of propertys.
00047     /// 
00048     System::Int32 GetPropertyCount();
00049 
00050     /// \brief
00051     /// Gets the name of the property at the given ordinal position.
00052     /// 
00053     /// \param index 
00054     /// Input the position of the property.
00055     /// 
00056     /// \return
00057     /// Returns the property name
00058     /// 
00059     System::String* GetPropertyName(System::Int32 index);
00060 
00061     /// \brief
00062     /// Gets the data type of the property with the specified name.
00063     /// 
00064     /// \param name 
00065     /// Input the property name.
00066     /// 
00067     /// \return
00068     /// Returns the data type of the property corresponding to the property name.
00069     /// 
00070     NAMESPACE_OSGEO_FDO_SCHEMA::DataType GetDataType(System::String* name);
00071 
00072     /// \brief
00073     /// Gets the property type of a given property. This is used
00074     /// to indicate if a given property is a geometric property or a data property. If the property is
00075     /// a PropertyType_DataProperty, then GetDataType can be used to to find the data type of the property.
00076     /// 
00077     /// \param name 
00078     /// Input the property name.
00079     /// 
00080     /// \return
00081     /// Returns the property type corresponding to the property name.
00082     /// 
00083     NAMESPACE_OSGEO_FDO_SCHEMA::PropertyType GetPropertyType(System::String* name);
00084 
00085 public private:
00086     IDataReaderImp(System::IntPtr unmanaged, System::Boolean autoDelete) : NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE::IReaderImp(unmanaged, autoDelete)
00087     {
00088 
00089     }
00090 
00091     inline FdoIDataReader* GetImpObj();
00092 };
00093 
00094 END_NAMESPACE_OSGEO_FDO_COMMANDS_FEATURE
00095 
00096 

Comments or suggestions? Send us feedback.