📄 dialog2.cpp
字号:
// Dialog2.cpp : implementation file
//
#include "stdafx.h"
#include "图书管理系统.h"
#include "Dialog2.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDialog2 dialog
extern CMyApp theApp;
CDialog2::CDialog2(CWnd* pParent /*=NULL*/)
: CDialog(CDialog2::IDD, pParent)
{
//{{AFX_DATA_INIT(CDialog2)
m_EdLit = _T("");
m_EdLx = _T("");
m_EdMail = _T("");
m_EdName = _T("");
m_EdPhone = _T("");
m_EdID = _T("");
//}}AFX_DATA_INIT
}
void CDialog2::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDialog2)
DDX_Text(pDX, IDC_EDITERLIT, m_EdLit);
DDX_Text(pDX, IDC_EDITERLX, m_EdLx);
DDX_Text(pDX, IDC_EDITERMAIL, m_EdMail);
DDX_Text(pDX, IDC_EDITERNAME, m_EdName);
DDX_Text(pDX, IDC_EDITERPONO, m_EdPhone);
DDX_Text(pDX, IDC_EDITERID, m_EdID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDialog2, CDialog)
//{{AFX_MSG_MAP(CDialog2)
ON_BN_CLICKED(IDC_BTN_ADD, OnBtnAdd)
ON_BN_CLICKED(IDC_BTN_DELETE, OnBtnDelete)
ON_BN_CLICKED(IDC_BTN_SET, OnBtnSet)
ON_BN_CLICKED(IDC_PGDOWN, OnPgdown)
ON_BN_CLICKED(IDC_PGUP, OnPgup)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDialog2 message handlers
BOOL CDialog2::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("SELECT * FROM Reader",theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDialog2::OnBtnAdd()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_EdID==""||m_EdName==""||m_EdLit ==""||m_EdPhone==""||m_EdMail==""||m_EdLx=="")
{
AfxMessageBox("请输入完整的内容!");
return;
}
if(Read(m_EdID)==1)
{
AfxMessageBox("读者号重复!");
return;
}
else
{
try
{
// 写入各字段值
m_pRecordset->AddNew();
m_pRecordset->PutCollect("EdID", _variant_t(m_EdID));
m_pRecordset->PutCollect("EdName", _variant_t(m_EdName));
m_pRecordset->PutCollect("EdLit", _variant_t(m_EdLit));
m_pRecordset->PutCollect("EdPhone", _variant_t(m_EdPhone));
m_pRecordset->PutCollect("EdMail", _variant_t(m_EdMail));
m_pRecordset->PutCollect("EdLx", _variant_t(m_EdLx));
m_pRecordset->Update();
AfxMessageBox("插入成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
}
void CDialog2::OnBtnDelete()
{
// TODO: Add your control notification handler code here
UpdateData();
if(m_EdName == "" || m_EdLx == ""|| m_EdMail=="" || m_EdID=="" ||
m_EdLit=="" || m_EdPhone=="" )
{
AfxMessageBox("没有选择要删除的项!");
return;
}
if( Read(m_EdID)==1)
{
try
{
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Update();
AfxMessageBox("删除成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
else
AfxMessageBox("没有该图书!");
}
void CDialog2::OnBtnSet()
{
// TODO: Add your control notification handler code here
UpdateData(); // 更新对话框数据
if(m_EdName == "" || m_EdLx == ""|| m_EdMail=="" || m_EdID=="" ||
m_EdLit=="" || m_EdPhone=="")
{
AfxMessageBox("表中记录数为空或姓名和年龄信息没有设置!");
return;
}
if(Read(m_EdID)==1)
{
// 修改当前记录的字段值
try
{
m_pRecordset->PutCollect("EdID", _variant_t(m_EdID));
m_pRecordset->PutCollect("EdName", _variant_t(m_EdName));
m_pRecordset->PutCollect("EdLit", _variant_t(m_EdLit));
m_pRecordset->PutCollect("EdPhone", _variant_t(m_EdPhone));
m_pRecordset->PutCollect("EdMail", _variant_t(m_EdMail));
m_pRecordset->PutCollect("EdLx", _variant_t(m_EdLx));
m_pRecordset->Update();
AfxMessageBox("修改成功!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
else
AfxMessageBox("没有该图书!");
}
void CDialog2::OnPgdown()
{
// TODO: Add your control notification handler code here
}
void CDialog2::OnPgup()
{
// TODO: Add your control notification handler code here
}
int CDialog2::Read(CString m_EdID)
{
_variant_t var;
CString /*strbkName,*/strEdID/*,strbkEditer,strbkAddress,strbkExmple,strbkPrice,strbkFlag*/;
/* strbkName=*/strEdID=/*strbkEditer=strbkAddress=strbkExmple=strbkPrice=strbkFlag=*/"";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return 0;
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("EdID");
if(var.vt != VT_NULL)
{
strEdID = (LPCSTR)_bstr_t(var);
}
if(m_EdID==strEdID)
{
return 1;
}
else
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return 2;
}
BOOL CDialog2::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
m_pRecordset->Close();
m_pRecordset =NULL;
return CDialog::DestroyWindow();
}
HBRUSH CDialog2::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_LISTBOX)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_SCROLLBAR)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -