/*
* ADOErrors.h
* Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED.
*/
// SOL9
// 2009/05/10
// 2009/05/15
#pragma once
#include <sol/sql/ADOCollection.h>
#include <sol/sql/ADOError.h>
namespace SOL {
class ADOErrors :public ADOCollection {
public:
ADOErrors()
{
}
public:
~ADOErrors()
{
}
public:
HRESULT createInstance()
{
return ADOObject::createInstance(__uuidof(ADODB::Errors));
}
public:
void set(__in ADODB::ErrorsPtr pEs)
{
setObject((IDispatchPtr)pEs);
}
public:
ADODB::ErrorsPtr getErrorsPtr()
{
return (ADODB::ErrorsPtr)getObject();
}
public:
bool getItem(const _variant_t& index,
__out ADOError& error)
{
bool rc = false;
ADODB::ErrorPtr pE = getErrorsPtr()->GetItem(index);
if (pE) {
error.set(pE);
rc = true;
} else {
throw Exception(E_FAIL, "%s: %s", "E_FAIL", __FUNCTION__);
}
return rc;
}
public:
ADODB::ErrorPtr getItem(const _variant_t& index)
{
return getErrorsPtr()->GetItem(index);
}
public:
HRESULT clear()
{
HRESULT hr = getErrorsPtr()->Clear();
if (FAILED(hr)) {
throw Exception(hr, "%s", __FUNCTION__);
}
return hr;
}
public:
long getCount()
{
return getErrorsPtr()->GetCount();
}
public:
HRESULT refresh()
{
HRESULT hr = getErrorsPtr()->Refresh();
if (FAILED(hr)) {
throw Exception(hr, "%s", __FUNCTION__);
}
return hr;
}
public:
IUnknownPtr newEnum()
{
return getErrorsPtr()->_NewEnum();
}
public:
void dump()
{
long count = getCount();
printf("ADOErrors:\n");
for (long i=0; i<count; i++) {
ADOError error;
if (getItem(_variant_t(i), error)) {
error.dump();
printf("\n");
}
}
}
};
}
|