📄 bkdlg2.cpp
字号:
// BkDlg2.cpp : implementation file
//
#include "stdafx.h"
#include "图书管理系统.h"
#include "BkDlg2.h"
#include "BkDlg1.h"
#include "图书管理系统Dlg.h"
#include "BkSearchDlg.h"
#include "DlgHelp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBkDlg2 dialog
extern CMyApp theApp;
CBkDlg2::CBkDlg2(CWnd* pParent /*=NULL*/)
: CDialog(CBkDlg2::IDD, pParent)
{
//{{AFX_DATA_INIT(CBkDlg2)
m_ReadId = _T("");
//}}AFX_DATA_INIT
}
void CBkDlg2::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBkDlg2)
DDX_Control(pDX, IDC_EDIT1, m_msgList);
DDX_Control(pDX, IDC_ReadID, m_ReadID);
DDX_CBString(pDX, IDC_ReadID, m_ReadId);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBkDlg2, CDialog)
//{{AFX_MSG_MAP(CBkDlg2)
ON_WM_CTLCOLOR()
ON_WM_SHOWWINDOW()
ON_LBN_SELCHANGE(IDC_ReadID, OnSelchangeReadID)
ON_BN_CLICKED(IDCANCLE, OnCancle)
ON_BN_CLICKED(IDC_BACK, OnBack)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBkDlg2 message handlers
BOOL CBkDlg2::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());
}
CString strEdID;
_variant_t var;
int curSel=0;
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);
m_ReadID.InsertString(curSel,strEdID);
curSel++;
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
m_ReadID.SetCurSel(0);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
int CBkDlg2::Read(CString m_ReadId)
{
UpdateData();
_variant_t var;
CString strEdID,strEdNume,strEdName,strEdAddress,strEdLit,strEdLx,strEdMail,strEdPhone;
strEdNume=strEdID=strEdName=strEdAddress=strEdLit=strEdLx=strEdMail=strEdPhone="";
// int curSel = m_MsgList.GetCurSel();
GetDlgItemText(IDC_ReadID,m_ReadId);
if(m_ReadId=="")
{
AfxMessageBox("Erroe!");
}
// if(curSel < 0)
// return;
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("EdID");
if(var.vt != VT_NULL)
{
strEdID = (LPCSTR)_bstr_t(var);
}
if(strEdID==m_ReadId)
{
var = m_pRecordset->GetCollect("EdName");
if(var.vt != VT_NULL)
{
strEdName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdAddress");
if(var.vt != VT_NULL)
{
strEdAddress = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdPhone");
if(var.vt != VT_NULL)
{
strEdPhone = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdLit");
if(var.vt != VT_NULL)
{
strEdLit = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdNum");
if(var.vt != VT_NULL)
{
strEdNume = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdMail");
if(var.vt != VT_NULL)
{
strEdMail = (LPCSTR)_bstr_t(var);
}
m_ReadId="读者ID:"+strEdID+"\r\n"
+"姓名:"+strEdName+"\r\n"
+"借书本数:"+strEdNume+"\r\n"
+"地址:"+strEdAddress+"\r\n"
+"电话:"+strEdPhone+"\r\n"
+"邮箱:"+strEdMail;
SetDlgItemText(IDC_EDIT1,m_ReadId);
/* m_MsgList.SetRedraw(true);
UpdateData(false);*/
return 1;
}
else
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return 1;
}
HBRUSH CBkDlg2::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;
}
void CBkDlg2::OnShowWindow(BOOL bShow, UINT nStatus)
{
CDialog::OnShowWindow(bShow, nStatus);
Read(m_ReadId);
// TODO: Add your message handler code here
}
//DEL void CBkDlg2::OnEditchangeReadID()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL m_msgList.UpdateWindow();
//DEL _variant_t var;
//DEL CString strEdID,strEdNume,strEdName,strEdAddress,strEdLit,strEdLx,strEdMail,strEdPhone;
//DEL strEdNume=strEdID=strEdName=strEdAddress=strEdLit=strEdLx=strEdMail=strEdPhone="";
//DEL int curSel = m_ReadID.GetCurSel();
//DEL if(curSel < 0)
//DEL return;
//DEL try
//DEL {
//DEL if(!m_pRecordset->BOF)
//DEL m_pRecordset->Move((long)curSel);
//DEL else
//DEL {
//DEL AfxMessageBox("表内数据为空");
//DEL }
//DEL while(!m_pRecordset->adoEOF )
//DEL {
//DEL var = m_pRecordset->GetCollect("EdID");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdID = (LPCSTR)_bstr_t(var);
//DEL }
//DEL if(strEdID==m_ReadId)
//DEL {
//DEL var = m_pRecordset->GetCollect("EdName");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdName = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL var = m_pRecordset->GetCollect("EdAddress");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdAddress = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL var = m_pRecordset->GetCollect("EdPhone");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdPhone = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL var = m_pRecordset->GetCollect("EdLit");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdLit = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL var = m_pRecordset->GetCollect("EdNum");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdNume = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL var = m_pRecordset->GetCollect("EdMail");
//DEL if(var.vt != VT_NULL)
//DEL {
//DEL strEdMail = (LPCSTR)_bstr_t(var);
//DEL
//DEL }
//DEL m_ReadId="读者ID:"+strEdID+"\r\n"
//DEL +"姓名:"+strEdName+"\r\n"
//DEL +"借书本数:"+strEdNume+"\r\n"
//DEL +"地址:"+strEdAddress+"\r\n"
//DEL +"电话:"+strEdPhone+"\r\n"
//DEL +"邮箱:"+strEdMail;
//DEL SetDlgItemText(IDC_EDIT1,m_ReadId);
//DEL /* m_MsgList.SetRedraw(true);
//DEL UpdateData(false);*/
//DEL return ;
//DEL }
//DEL
//DEL
//DEL else
//DEL m_pRecordset->MoveNext();
//DEL }
//DEL
//DEL }
//DEL catch(_com_error *e)
//DEL {
//DEL AfxMessageBox(e->ErrorMessage());
//DEL }
//DEL }
void CBkDlg2::OnSelchangeReadID()
{
// TODO: Add your control notification handler code here
_variant_t var;
CString strEdID,strEdNume,strEdName,strEdAddress,strEdLit,strEdLx,strEdMail,strEdPhone;
strEdNume=strEdID=strEdName=strEdAddress=strEdLit=strEdLx=strEdMail=strEdPhone="";
int curSel = m_ReadID.GetCurSel();
if(curSel < 0)
return;
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("EdID");
if(var.vt != VT_NULL)
{
strEdID = (LPCSTR)_bstr_t(var);
}
UpdateData();
if(strEdID==m_ReadId)
{
var = m_pRecordset->GetCollect("EdName");
if(var.vt != VT_NULL)
{
strEdName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdAddress");
if(var.vt != VT_NULL)
{
strEdAddress = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdPhone");
if(var.vt != VT_NULL)
{
strEdPhone = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdLit");
if(var.vt != VT_NULL)
{
strEdLit = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdNum");
if(var.vt != VT_NULL)
{
strEdNume = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("EdMail");
if(var.vt != VT_NULL)
{
strEdMail = (LPCSTR)_bstr_t(var);
}
m_ReadId="读者ID:"+strEdID+"\r\n"
+"姓名:"+strEdName+"\r\n"
+"借书本数:"+strEdNume+"\r\n"
+"地址:"+strEdAddress+"\r\n"
+"电话:"+strEdPhone+"\r\n"
+"邮箱:"+strEdMail;
m_msgList.UpdateWindow();
SetDlgItemText(IDC_EDIT1,m_ReadId);
/* m_MsgList.SetRedraw(true);
UpdateData(false);*/
return ;
}
else
m_pRecordset->MoveNext();
}
SetDlgItemText(IDC_EDIT1,"没有该记录!");
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
void CBkDlg2::OnCancle()
{
// TODO: Add your control notification handler code here
CBkDlg2 dlg1;
dlg1.OnCancle();
}
void CBkDlg2::OnBack()
{
// TODO: Add your control notification handler code here
CMyDlg dlg;
CBkDlg2 dlg1;
dlg1.OnCancle();
dlg.DoModal();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -