SOL9 2.0 Class: ADOXProcedures

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

Source code

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


// SOL9
// 2009/06/02

#pragma once

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


namespace SOL {

class ADOXProcedures :public ADOCollection {

public:
    ADOXProcedures()
    {
    }

public:
    HRESULT createInstance()
    {
        return ADOObject::createInstance(__uuidof(ADOX::Procedures));
    }

public:
    void set(__in ADOX::ProceduresPtr pF) 
    {
        setObject((IDispatchPtr)pF);    
    }

public:
    ADOX::ProceduresPtr getProceduresPtr() 
    {
        return (ADOX::ProceduresPtr)getObject();    
    }


public:

    bool getItem(
            __in const _variant_t& index, 
            __out ADOXProcedure& procedure)
    {
        bool rc = false;
        ADOX::ProcedurePtr ptr = getItem(index);
        if (ptr) {
            procedure.set(ptr);
            rc = true;
        } else {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL", __FUNCTION__);

        }
        return rc;
    }

public:
    ADOX::ProcedurePtr getItem (
        __in const _variant_t& item)
    {
        return getProceduresPtr()->GetItem(item);
    }

public:
    HRESULT append(
        __in _bstr_t name,
        __in IDispatch* command)
    {
        return getProceduresPtr()->Append(
            name,
            command);
    }

public:
    HRESULT remove(
        __in const _variant_t& item)
    {
        return getProceduresPtr()->Delete(item); 
    }

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

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

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

public:
    void dump()
    {
        printf("<Procedues>\n");
        long c = getCount();
        for (long i = 0; i<c; i++) {
            ADOXProcedure procedure;
            getItem(_variant_t(i), procedure);
            procedure.dump();
        }
        printf("</Procedues>\n");

    }
};


}

Last modified: 1 Feb 2012

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