SOL9 2.0 Class: ADOParameters

 SOL9 C++ Class Library  SOL9 Samples  SOL9 Tutorial  SOL9 FAQ  SOL9 ClassTree 

Source code

/*
 * ADOParameters.h 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/05/09
// 2009/05/14 Added getParameter(ADOParameter& ) method.
// 2009/05/15
// 2009/05/22 Added append and remove methods
#pragma once

#include <sol/sql/ADOCollection.h>
#include <sol/sql/ADOParameter.h>

namespace SOL {

class ADOParameters :public ADOCollection {

public:
    ADOParameters()
    {
    }

public:
    ~ADOParameters()
    {
    }

public:
    HRESULT createInstance()
    {
        return ADOObject::createInstance(__uuidof(ADODB::Parameters));
    }

public:
    void set(__in ADODB::ParametersPtr pFs)
    {
        setObject((IDispatchPtr)pFs);
    }

public:
    ADODB::ParametersPtr getParametersPtr()
    {
        return (ADODB::ParametersPtr)getObject();
    }

public:
    //2009/05/14
    bool getItem(
            __in const _variant_t& index,
            __out ADOParameter& parameter)
    {
        bool rc = false;
        ADODB::_ParameterPtr pParam = getItem(index);
        if (pParam) {
            parameter.set(pParam);
            rc = true;
        } else {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL", __FUNCTION__);
        }
        return rc;
    }

public:

    ADODB::_ParameterPtr getItem(
            __in const _variant_t& index)
    {
        return getParametersPtr()->GetItem(index);
    }
    

public:
    long getCount()
    {
        return getParametersPtr()->GetCount();
    }

public:
    HRESULT refresh()
    {
        HRESULT hr = getParametersPtr()->Refresh();
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;
    }

public:
    IUnknownPtr newEnum() 
    {
        return     getParametersPtr()->_NewEnum();
    }

public:
    //2009/05/22
    HRESULT append(ADOParameter& param)
    {
        IDispatch* iobject = (IDispatch*)param.getParameterPtr();
        HRESULT hr = getParametersPtr()->Append(iobject);
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }

public:
    //2009/05/22
    HRESULT append(IDispatch* iobject)
    {
        HRESULT hr = getParametersPtr()->Append(iobject);
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }

public:
    //2009/05/22
    HRESULT remove(const _variant_t& index)
    {
        HRESULT hr = getParametersPtr()->Delete(index);
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }

public:
    void dump()
    {
        long count = getCount();
        printf("Parameters: \n");
        for (long n = 0; n<count; n++) {
            ADOParameter param;
            if (getItem(_variant_t(n), param)) {
                param.dump();
            }
        }

    }

};

}

Last modified: 1 Feb 2012

Copyright (c) 2009-2012 Antillia.com ALL RIGHTS RESERVED.