?? note.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 + -