⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 note.cpp

📁 记录工作日志方面的信息
💻 CPP
字号:
// Note.cpp : implementation file
//

#include "stdafx.h"
#include "Papaz.h"
#include "Note.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CNote property page

IMPLEMENT_DYNCREATE(CNote, CPropertyPage)

CNote::CNote() : CPropertyPage(CNote::IDD)
{
	//{{AFX_DATA_INIT(CNote)
	m_NoteEdit = _T("");
	m_Title = _T("");
	m_DateTime = 0;
	//}}AFX_DATA_INIT
	sDriver = "MICROSOFT ACCESS DRIVER (*.mdb)";
	sFile = "Papaz.mdb";
	sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s",sDriver,sFile);
	m_strID = "-1";
}

CNote::~CNote()
{
}

void CNote::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CNote)
	DDX_Control(pDX, IDC_DEL, m_Del);
	DDX_Control(pDX, IDC_MODIFY, m_Modify);
	DDX_Control(pDX, IDC_NEW, m_New);
	DDX_Control(pDX, IDC_OK, m_OK);
	DDX_Control(pDX, IDC_CANCEL, m_Cancel);
	DDX_Control(pDX, IDC_LIST1, m_ListCtr);
	DDX_Text(pDX, IDC_NOTE, m_NoteEdit);
	DDX_Text(pDX, IDC_TITLE, m_Title);
	DDX_DateTimeCtrl(pDX, IDC_DATETIME, m_DateTime);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CNote, CPropertyPage)
	//{{AFX_MSG_MAP(CNote)
	ON_BN_CLICKED(IDC_NEW, OnNew)
	ON_BN_CLICKED(IDC_DEL, OnDel)
	ON_BN_CLICKED(IDC_MODIFY, OnModify)
	ON_BN_CLICKED(IDC_OK, OnOk)
	ON_BN_CLICKED(IDC_CANCEL, OnCancel)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CNote message handlers

void CNote::OnNew() 
{
	m_Title = "";
	m_NoteEdit = "";
	m_strID = "-1";
	m_DateTime = CTime::GetCurrentTime();
	m_OK.EnableWindow();
	m_Cancel.EnableWindow();
	UpdateData(FALSE);
}

void CNote::OnDel() 
{
	database.Open(NULL,false ,false ,sDsn);
	CNoteSet  m_recordset(&database);
	int i = m_ListCtr.GetSelectionMark();
	if(0>i)
	{
		MessageBox("请选择一条记录进行删除!");
		return;
	}

	CString strSQL;
	strSQL.Format("select * from 记事簿 where ID= %s ",m_ListCtr.GetItemText(i,0));
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}
	//删除该用户
	m_recordset.Delete();
//	m_recordset.Close();
	database.Close();

	//更新用户列表

	strSQL="select * from 记事簿";
	Show(strSQL);

	m_Title = "";
	m_NoteEdit = "";
	UpdateData(FALSE);
	m_OK.EnableWindow(FALSE);
	m_Cancel.EnableWindow(FALSE);
	
}

void CNote::OnModify()  
{
	m_OK.EnableWindow();
	m_Cancel.EnableWindow();
	
}

void CNote::Show(CString str)
{
	m_ListCtr.SetFocus();
	m_ListCtr.DeleteAllItems();
	m_ListCtr.SetRedraw(FALSE);

	database.Open(NULL,false ,false ,sDsn);
	CNoteSet  m_recordset(&database);

	CString strTime;
	char  buffer[20];
	UpdateData(TRUE);

	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,str))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}	

	int i=0;
	while(!m_recordset.IsEOF())
	{
		strTime.Format("%d-%d-%d",m_recordset.m_Date.GetYear(),m_recordset.m_Date.GetMonth(),m_recordset.m_Date.GetDay());
		ltoa(m_recordset.m_ID,buffer,10);
		m_ListCtr.InsertItem(i,buffer);
		m_ListCtr.SetItemText(i,1,strTime);
		m_ListCtr.SetItemText(i,2,m_recordset.m_Caption);
		i++;
		m_recordset.MoveNext();
	}
//	m_recordset.Close();
	database.Close();

	m_ListCtr.SetRedraw(TRUE);	
}

BOOL CNote::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	m_ListCtr.InsertColumn(0,"序号");
	m_ListCtr.SetColumnWidth(0,40);
	
	m_ListCtr.InsertColumn(1,"日期");
	m_ListCtr.SetColumnWidth(1,80);
	
	m_ListCtr.InsertColumn(2,"标题");
	m_ListCtr.SetColumnWidth(2,100);

	m_ListCtr.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);

	CString strSQL;
	strSQL="select * from 记事簿";
	this->Show(strSQL);

	m_OK.EnableWindow(FALSE);
	m_Cancel.EnableWindow(FALSE);	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CNote::OnCancel() 
{
	m_OK.EnableWindow(FALSE);
	m_Cancel.EnableWindow(FALSE);
}

void CNote::OnOk() 
{
	database.Open(NULL,false ,false ,sDsn);
	CNoteSet  m_recordset(&database);

	UpdateData();

	CString strSQL;
	strSQL.Format("select * from 记事簿 where ID= %s",m_strID);
//	strSQL="select * from 记事簿";
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}
	if(m_strID=="-1")
	{//判断用户是否存在
		m_recordset.AddNew();
		m_recordset.m_Caption = m_Title ;
		m_recordset.m_Date = m_DateTime ;
		m_recordset.m_Note = m_NoteEdit ;
		m_recordset.Update();
	}
	else
	{//修改用户信息
		
		m_recordset.Edit();
		m_recordset.m_Caption = m_Title  ;
		m_recordset.m_Date = m_DateTime ;
		m_recordset.m_Note= m_NoteEdit ;
		m_recordset.Update();
	}
//	m_recordset.Close();
	database.Close();

	strSQL="select * from 记事簿";
	this->Show(strSQL);

	m_OK.EnableWindow(FALSE);
	m_Cancel.EnableWindow(FALSE);
	
}

void CNote::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	m_OK.EnableWindow(FALSE);
	m_Cancel.EnableWindow(FALSE);
	
	database.Open(NULL,false ,false ,sDsn);
	CNoteSet  m_recordset(&database);

	CString strSQL;
	UpdateData(TRUE);
	int i = m_ListCtr.GetSelectionMark();
	

	m_strID = m_ListCtr.GetItemText(i,0);

	strSQL.Format("select * from 记事簿 where ID=%s",m_strID);
	if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL))
	{
		MessageBox("打开数据库失败!","数据库错误",MB_OK);
		return ;
	}	
	m_Title = m_recordset.m_Caption;
	m_DateTime = m_recordset.m_Date;
	m_NoteEdit = m_recordset.m_Note;
//	m_recordset.Close();
	database.Close();
	UpdateData(FALSE);
	
	*pResult = 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -