📄 dbdoc.cpp
字号:
// DBDoc.cpp : CDBDoc 类的实现
//
#include "stdafx.h"
#include "DB.h"
#include "DBDoc.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CDBDoc
IMPLEMENT_DYNCREATE(CDBDoc, CDocument)
BEGIN_MESSAGE_MAP(CDBDoc, CDocument)
ON_COMMAND(ID_130, OnCreateTable)
ON_COMMAND(ID_131, OnReadTable)
ON_COMMAND(ID_132, OnWriteTable)
ON_UPDATE_COMMAND_UI(ID_131, OnUpdateReadTable)
ON_UPDATE_COMMAND_UI(ID_132, OnUpdateWriteTable)
END_MESSAGE_MAP()
// CDBDoc 构造/销毁
CDBDoc::CDBDoc()
{
// TODO:在此添加一次性构造代码
m_pDB=NULL;
}
CDBDoc::~CDBDoc()
{
if (m_pDB)
{
delete m_pDB; //释放对象
m_pDB=NULL;
}
}
BOOL CDBDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;
// TODO:在此添加重新初始化代码
// (SDI 文档将重用该文档)
//新建数据库对象
m_pDB=new CDB;
// 初始化数据成员变量
m_csData="No data yet!";
m_nCount=0;
m_nTable=-1;
return TRUE;
}
// CDBDoc 序列化
void CDBDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
// TODO:在此添加存储代码
}
else
{
// TODO:在此添加加载代码
}
}
// CDBDoc 诊断
#ifdef _DEBUG
void CDBDoc::AssertValid() const
{
CDocument::AssertValid();
}
void CDBDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG
// CDBDoc 命令
void CDBDoc::OnCreateTable()
{
// TODO: 在此添加命令处理程序代码
m_pDB->Create(m_nTable, _T("Testing"));
m_nCount=0; // set number of writes to 0
}
void CDBDoc::OnReadTable()
{
// TODO: 在此添加命令处理程序代码
m_pDB->Read(m_nTable, 0, m_csData.GetBuffer(80));
m_csData.ReleaseBuffer();
UpdateAllViews(NULL);
}
void CDBDoc::OnWriteTable()
{
// TODO: 在此添加命令处理程序代码
m_nCount++;
CString csText;
csText.Format(_T("Test data #%d in table %d, row 0!"), m_nCount, (int) m_nTable);
m_pDB->Write(m_nTable, 0, csText);
}
void CDBDoc::OnUpdateReadTable(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->Enable(m_nCount>0);
}
void CDBDoc::OnUpdateWriteTable(CCmdUI *pCmdUI)
{
// TODO: 在此添加命令更新用户界面处理程序代码
pCmdUI->Enable(m_nTable>=0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -