📄 dataobjectrowset.cpp
字号:
#include "stdafx.h"
#include "DataObjectRowset.h"
#include "MyDataObject.h"
void CDataObjectRowset::GetColumnInformation(
size_t column,
DBTYPE &dbType,
ULONG &size,
std::string &columnName,
DWORD &flags)
{
ATLASSERT(m_pDataObject);
dbType = DBTYPE_STR;
size = m_pDataObject->m_columnSize;
columnName = m_pDataObject->m_columnNames[column];
/*
if (column == 0)
{
flags |= DBCOLUMNFLAGS_ISROWID;
}
*/
}
void CDataObjectRowset::GetColumnData(
size_t row,
size_t column,
DBTYPE &dbType,
ULONG &size,
void *&pData,
bool &bIsUpdatable)
{
ATLASSERT(m_pDataObject);
dbType = DBTYPE_STR;
size = m_pDataObject->m_columnSize;
pData = m_pDataObject->GetAt(row+1, column+1);
bIsUpdatable = false;
}
void CDataObjectRowset::UpdateColumn(size_t row, size_t column, void *pData)
{
ATLASSERT(m_pDataObject);
size_t length = 0;
if (pData)
{
length = strlen((const char*)pData);
}
m_pDataObject->SetAt(row+1, column+1, (const char*)pData, length);
}
size_t CDataObjectRowset::GetNumColumns()
{
ATLASSERT(m_pDataObject);
return m_pDataObject->m_numCols;
}
size_t CDataObjectRowset::GetNumRows() const
{
ATLASSERT(m_pDataObject);
return m_pDataObject->m_numRows;
}
HRESULT CDataObjectRowset::AddRow()
{
ATLASSERT(m_pDataObject);
if (SUCCEEDED(m_pDataObject->AddRow()))
{
return S_OK;
}
return E_FAIL;
}
HRESULT CDataObjectRowset::RemoveRow(int nIndex)
{
ATLASSERT(m_pDataObject);
if (SUCCEEDED(m_pDataObject->RemoveRow(nIndex)))
{
return DBROWSTATUS_S_OK;
}
return E_FAIL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -