SOL9 2.0 Class: ADOXColumns

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

Source code

/*
 * ADOXColumns.h 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
///////////////////////////////
#pragma once

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

namespace SOL {

class ADOXColumns :public ADOCollection {


public:
    ADOXColumns()
    {
    }

public:
    ~ADOXColumns()
    {
    }

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

public:
    void set(__in ADOX::ColumnsPtr pFs)
    {
        setObject((IDispatchPtr)pFs);
    }

public:
    ADOX::ColumnsPtr getColumnsPtr()
    {
        return (ADOX::ColumnsPtr)getObject();
    }

public:
     bool getItem(
        __in const _variant_t& item,
        __out ADOXColumn& column)
    {
        bool rc = false;
        ADOX::_ColumnPtr ptr = getItem(item);
        if (ptr) {
            column.set(ptr);
            rc = true;
        } else {
            throw Exception(E_FAIL, "%s: %s", "E_FAIL", __FUNCTION__);
        }
        return rc;
    }

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

public:
    HRESULT append(
        __in const _variant_t& item,
        __in ADOX::DataTypeEnum type,
         __in long definedSize)
    {
        return getColumnsPtr()->Append (
            item,
            type,
             definedSize);
    }

public:

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

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

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

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

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

}

Last modified: 19 Dec 2009

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