📄 dataset.cpp
字号:
// DataSet.cpp : implementation file
//
#include "stdafx.h"
#include "Adress.h"
#include "DataSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDataSet
IMPLEMENT_DYNAMIC(CDataSet, CDaoRecordset)
CDataSet::CDataSet(CDaoDatabase* pdb)
: CDaoRecordset(pdb)
{
//{{AFX_FIELD_INIT(CDataSet)
m_column1 = _T("");
m_column2 = _T("");
m_column3 = _T("");
m_column4 = _T("");
m_column5 = _T("");
m_nFields = 5;
//}}AFX_FIELD_INIT
m_nDefaultType = dbOpenDynaset;
}
CString CDataSet::GetDefaultDBName()
{
// return _T("C:\\Documents and Settings\\gao\\My Documents\\Adress list.mdb");
CString strCfgFilePath = GetCfgFilePath();
CFileFind flFind;
CFile file;
if(!flFind.FindFile(strCfgFilePath))
{
file.Open(strCfgFilePath,CFile::modeCreate);
file.Close();
}
flFind.Close();
file.Open(strCfgFilePath,CFile::modeReadWrite);
m_pCfgInfo = new CFG_INFO;
if((file.Read(m_pCfgInfo,sizeof(CFG_INFO))!=sizeof(CFG_INFO))
||(strlen(m_pCfgInfo->szDaoFilePath)<=0)||
(!flFind.FindFile(m_pCfgInfo->szDaoFilePath)))
{
file.Close();
CString strFilter;
strFilter.Format("Microsoft Access Database(*.mdb)|*.mdb|");
CFileDialog flDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,strFilter);
CString strTitle;
strTitle.Format("选择数据库文件");
flDlg.m_ofn.lpstrTitle = strTitle;
if(flDlg.DoModal()==IDOK)
{
strcpy(m_pCfgInfo->szDaoFilePath,flDlg.GetPathName());
m_pCfgInfo->crFontColr = 0;
CFont* pFont = new CFont;
CString strFont;
strFont.Format("宋体");
pFont->CreatePointFont(120,strFont);
pFont->GetLogFont(&(m_pCfgInfo->lfViewFont));
UpdateCfgInfo();
}
else
exit(0);
}
return _T(m_pCfgInfo->szDaoFilePath);
}
CString CDataSet::GetDefaultSQL()
{
return _T("[表1]");
}
void CDataSet::DoFieldExchange(CDaoFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CDataSet)
pFX->SetFieldType(CDaoFieldExchange::outputColumn);
DFX_Text(pFX, _T("[姓名]"), m_column1);
DFX_Text(pFX, _T("[性别]"), m_column2);
DFX_Text(pFX, _T("[地址]"), m_column3);
DFX_Text(pFX, _T("[电话]"), m_column4);
DFX_Text(pFX, _T("[备注]"), m_column5);
//}}AFX_FIELD_MAP
}
/////////////////////////////////////////////////////////////////////////////
// CDataSet diagnostics
#ifdef _DEBUG
void CDataSet::AssertValid() const
{
CDaoRecordset::AssertValid();
}
void CDataSet::Dump(CDumpContext& dc) const
{
CDaoRecordset::Dump(dc);
}
#endif //_DEBUG
//建立配置文件
CString CDataSet::GetCfgFilePath()
{
CString strAppPath;
GetModuleFileName(NULL,strAppPath.GetBuffer(MAX_PATH),MAX_PATH);
strAppPath.ReleaseBuffer();
strAppPath.TrimRight();
int n = strAppPath.ReverseFind('\\');
int length = strAppPath.GetLength();
CString strAppDir = strAppPath.Left(n+1);
CString strAppName;
strAppName = AfxGetAppName();
CString strCfgFileExtName;
strCfgFileExtName.Format("cfg");
CString strCfgFilePath;
strCfgFilePath = strAppDir+strAppName+"."+strCfgFileExtName;
return strCfgFilePath;
}
void CDataSet::UpdateCfgInfo()
{
CString strCfgFilePath = GetCfgFilePath();
CFile file;
file.Open(strCfgFilePath,CFile::modeWrite);
file.SeekToBegin();
file.Write(m_pCfgInfo,sizeof(CFG_INFO));
file.Close();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -