📄 datasourceinfoview.cpp
字号:
// CDatasourceInfoView.cpp : implementation of the CCDatasourceInfoView class
//
#include "stdafx.h"
#include "DatasourceInfo.h"
//#include "tableset.h"
#include "DatasourceInfoView.h"
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDatasourceInfoView
IMPLEMENT_DYNCREATE(CDatasourceInfoView, CRecordView)
BEGIN_MESSAGE_MAP(CDatasourceInfoView, CRecordView)
//{{AFX_MSG_MAP(CDatasourceInfoView)
ON_UPDATE_COMMAND_UI(ID_APP_EXIT, OnUpdateAppExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDatasourceInfoView construction/destruction
CDatasourceInfoView::CDatasourceInfoView()
: CRecordView(CDatasourceInfoView::IDD)
{
//{{AFX_DATA_INIT(CDatasourceInfoView)
m_pSet = NULL;
//}}AFX_DATA_IN
// TODO: add construction code here
}
CDatasourceInfoView::~CDatasourceInfoView()
{
}
void CDatasourceInfoView::DoDataExchange(CDataExchange* pDX)
{
CRecordView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDatasourceInfoView)
DDX_Control(pDX, IDC_COLUMNS, m_lbColumns);
DDX_FieldText(pDX, IDC_NAME, m_pSet->m_strName, m_pSet);
DDX_FieldText(pDX, IDC_OWNER, m_pSet->m_strOwner, m_pSet);
DDX_FieldText(pDX, IDC_TYPE, m_pSet->m_strType, m_pSet);
DDX_FieldText(pDX, IDC_REMARK, m_pSet->m_strRemarks, m_pSet);
//}}AFX_DATA_MAP
}
void CDatasourceInfoView::OnInitialUpdate()
{
m_pSet = &GetDocument()->m_tableSet;
m_pSet->m_strTypeParam = "'TABLE'";
CRecordView::OnInitialUpdate();
try
{
if (m_pSet->IsOpen())
{
// Flush pending results for drivers that don't
// support multiple hstmt's
m_pSet->MoveLast();
m_pSet->MoveFirst();
FillColumnsListBox();
}
else
m_pSet->ThrowDBException(AFX_SQL_ERROR_CONNECT_FAIL);
}
catch( CDBException* e )
{
e->ReportError(MB_ICONEXCLAMATION);
}
}
#ifdef _DEBUG
void CDatasourceInfoView::AssertValid() const
{
CRecordView::AssertValid();
}
void CDatasourceInfoView::Dump(CDumpContext& dc) const
{
CRecordView::Dump(dc);
}
CDatasourceInfoDoc* CDatasourceInfoView::GetDocument() // non-debug version is inline
{
return STATIC_DOWNCAST(CDatasourceInfoDoc, m_pDocument);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CDatasourceInfoView database support
CRecordset* CDatasourceInfoView::OnGetRecordset()
{
return m_pSet;
}
BOOL CDatasourceInfoView::OnMove(UINT nIDMoveCommand)
{
if (!CRecordView::OnMove(nIDMoveCommand))
return FALSE;
FillColumnsListBox();
return TRUE;
}
void CDatasourceInfoView::FillColumnsListBox()
{
ASSERT(!m_Columns.IsOpen());
m_Columns.m_strQualifierParam = m_pSet->m_strQualifier;
m_Columns.m_strOwnerParam = m_pSet->m_strOwner;
m_Columns.m_strTableNameParam = m_pSet->m_strName;
if (m_Columns.m_pDatabase == NULL)
m_Columns.m_pDatabase = m_pSet->m_pDatabase;
if (!m_Columns.Open())
return;
m_lbColumns.ResetContent();
while (!m_Columns.IsEOF())
{
m_lbColumns.AddString(m_Columns.m_strColumnName +
" (" + m_Columns.m_strTypeName + ')');
m_Columns.MoveNext();
}
m_Columns.Close();
}
/////////////////////////////////////////////////////////////////////////////
// CDatasourceInfoView message handlers
void CDatasourceInfoView::OnUpdateAppExit(CCmdUI* pCmdUI)
{
pCmdUI->Enable(TRUE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -