SOL9 2.0 Class: ADORecord

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

Source code

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


// SOL9
// 2009/05/10
// 2009/05/15

#pragma once

#include <sol/sql/ADOObject.h>


namespace SOL {

class ADORecord :public ADOObject {

public:
    ADORecord()
    {
    }

public:
    ~ADORecord()
    {
    }

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

public:
    void set(__in ADODB::_RecordPtr pRec)
    {
        setObject((IDispatchPtr)pRec);
    }

public:
    ADODB::_RecordPtr getRecordPtr()
    {
        return (ADODB::_RecordPtr)getObject();
    }

public: 
    _variant_t getActiveConnection ()
    {
        return getRecordPtr()->GetActiveConnection();
    }

public:
    void putActiveConnection(__in _bstr_t pvar) 
    {
        getRecordPtr()->PutActiveConnection (pvar);
    }

public:
    void putRefActiveConnection(__in ADODB::_Connection* pvar)
    {
        getRecordPtr()->PutRefActiveConnection (pvar);
    }

public:
    ADODB::ObjectStateEnum getState()
    {
        return getRecordPtr()->GetState();
    }

public:
    _variant_t getSource() {
        return getRecordPtr()->GetSource();
    }

public:
    void putSource (__in _bstr_t pvar)
    {
        getRecordPtr()->PutSource(pvar);
    }

public:
    void putRefSource(__in IDispatch * pvar)
    {        
        getRecordPtr()->PutRefSource(pvar);
    }

public:
    ADODB::ConnectModeEnum getMode() 
    {
        return getRecordPtr()->GetMode();
    }
public:
    void putMode(__in ADODB::ConnectModeEnum pMode)
    {
           getRecordPtr()->PutMode(pMode);
    }

public:
    _bstr_t getParentURL() 
    {
        return getRecordPtr()->GetParentURL();
    }

public:
    _bstr_t moveRecord(
        _bstr_t source,
        _bstr_t destination,
        _bstr_t userName,
        _bstr_t password,
        ADODB::MoveRecordOptionsEnum options,
        VARIANT_BOOL async )
    {
        return getRecordPtr()->MoveRecord (
            source,
            destination,
            userName,
            password,
            options,
                   async );
    }

public:
    _bstr_t copyRecord(
        _bstr_t source,
        _bstr_t destination,
        _bstr_t userName,
        _bstr_t password,
        ADODB::CopyRecordOptionsEnum options,
        VARIANT_BOOL async)
    {

        return getRecordPtr()->CopyRecord(
            source,
            destination,
            userName,
                password,
                options,
                async);
    }

public:
    
    HRESULT deleteRecord(
            _bstr_t source,    
            VARIANT_BOOL async)
    {
        HRESULT hr = getRecordPtr()-> DeleteRecord (
                source,
                async);
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }


public:
    HRESULT open(
        const _variant_t& source,
        const _variant_t& activeConnection,
        ADODB::ConnectModeEnum mode,
        ADODB::RecordCreateOptionsEnum createOptions,
        ADODB::RecordOpenOptionsEnum options,
        _bstr_t userName,
        _bstr_t password )
    {
        HRESULT hr = getRecordPtr()->Open(
                source,
                activeConnection,
                mode,
                   createOptions,
                options,
                userName,
                password);
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }

public:
    void close() 
    {
        try {
            getRecordPtr()->Close();
        } catch (...) {

        }
        clear();
    }

public:
    ADODB::FieldsPtr getFields() 
    {
        return getRecordPtr()->GetFields();
    }

public:
    ADODB::RecordTypeEnum getRecordType()
    {
        return getRecordPtr()->GetRecordType();
    }

public:
    ADODB::_RecordsetPtr getChildren() 
    {
        return getRecordPtr()->GetChildren();
    }

public:

    HRESULT cancel() 
    {
        HRESULT hr = getRecordPtr()->Cancel();
        if (FAILED(hr)) {
            throw Exception(hr, "%s", __FUNCTION__);
        }
        return hr;

    }

};

}

Last modified: 19 Dec 2009

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