FDO API Reference Feature Data Objects

ISQLCommand.h

Go to the documentation of this file.
00001 #ifndef _ISQLCOMMAND_H_
00002 #define _ISQLCOMMAND_H_
00003 //
00004 
00005 //
00006 // Copyright (C) 2004-2006  Autodesk, Inc.
00007 // 
00008 // This library is free software; you can redistribute it and/or
00009 // modify it under the terms of version 2.1 of the GNU Lesser
00010 // General Public License as published by the Free Software Foundation.
00011 // 
00012 // This library is distributed in the hope that it will be useful,
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015 // Lesser General Public License for more details.
00016 // 
00017 // You should have received a copy of the GNU Lesser General Public
00018 // License along with this library; if not, write to the Free Software
00019 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00020 //
00021 #ifdef _WIN32
00022 #pragma once
00023 #endif
00024 
00025 #include <FdoStd.h>
00026 #include <Fdo/Commands/ICommand.h>
00027 #include <Fdo/Connections/IConnection.h>
00028 #include <Fdo/Commands/Sql/ISQLDataReader.h>
00029 
00030 /// \brief
00031 /// The FdoISQLCommand interface defines the SQL command, which supports the
00032 /// execution of a SQL statement against an underlying RDBMS. Two execute
00033 /// methods are provided to distinguish between statements that return table data
00034 /// versus those that execute non query type operations.
00035 class FdoISQLCommand : public FdoICommand
00036 {
00037     friend class FdoIConnection;
00038 
00039 public:
00040     /// \brief
00041     /// Gets the SQL statement to be executed as a string.
00042     /// 
00043     /// \return
00044     /// Returns the SQL statement.
00045     /// 
00046     FDO_API virtual FdoString* GetSQLStatement() = 0;
00047 
00048     /// \brief
00049     /// Sets the SQL statement to be executed as a string.
00050     /// 
00051     /// \param value 
00052     /// Input the SQL statement.
00053     /// 
00054     /// \return
00055     /// Returns nothing
00056     /// 
00057     FDO_API virtual void SetSQLStatement(FdoString* value) = 0;
00058 
00059     /// \brief
00060     /// Executes the SQL statement against the connection object and returns
00061     /// the number of rows affected.
00062     /// 
00063     /// \return
00064     /// Returns the number of rows affected.
00065     /// 
00066     FDO_API virtual FdoInt32 ExecuteNonQuery() = 0;
00067 
00068     /// \brief
00069     /// Executes the SQL statement against the connection object and returns
00070     /// an FdoISQLDataReader.
00071     /// 
00072     /// \return
00073     /// Returns the data reader.
00074     /// 
00075     FDO_API virtual FdoISQLDataReader* ExecuteReader() = 0;
00076 };
00077 #endif
00078 
00079 

Comments or suggestions? Send us feedback.