📄 nordlg1.cpp
字号:
// NorDlg1.cpp : implementation file
//
#include "stdafx.h"
#include "图书管理系统.h"
#include "NorDlg1.h"
#include "图书管理系统Dlg.h"
#include "LaodingDlg1.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CNorDlg1 dialog
extern CMyApp theApp;
CNorDlg1::CNorDlg1(CWnd* pParent /*=NULL*/)
: CDialog(CNorDlg1::IDD, pParent)
{
//{{AFX_DATA_INIT(CNorDlg1)
m_BkID = _T("");
m_BkRead = _T("");
m_BkName = _T("");
m_ReadID = _T("");
//}}AFX_DATA_INIT
}
void CNorDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CNorDlg1)
DDX_Text(pDX, IDC_BKID, m_BkID);
DDX_Text(pDX, IDC_BKEDITER, m_BkRead);
DDX_Text(pDX, IDC_BKNAME, m_BkName);
DDX_Text(pDX, IDC_ReadID, m_ReadID);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CNorDlg1, CDialog)
//{{AFX_MSG_MAP(CNorDlg1)
ON_BN_CLICKED(IDC_BTN_BACK, OnBtnBack)
ON_BN_CLICKED(IDC_BTN_LOCK, OnBtnLock)
ON_BN_CLICKED(IDC_BTN_OUT, OnBtnOut)
ON_BN_CLICKED(IDCANCLE, OnCancle)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CNorDlg1 message handlers
void CNorDlg1::OnBtnBack()
{
// TODO: Add your control notification handler code here
CMyDlg dlg;
dlg.DoModal();
}
void CNorDlg1::OnBtnLock()
{
// TODO: Add your control notification handler code here
/* bFALG=true;
if (bFALG)
{
SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,NULL,0);
EnableWindow(FALSE);
}
else
{
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 0, NULL,0);
EnableWindow(TRUE);
} */
CLaodingDlg1 dlg;
dlg.DoModal();
}
void CNorDlg1::OnBtnOut()
{
// TODO: Add your control notification handler code here
UpdateData();
int flag;
if(m_BkID =="" || m_ReadID=="")
{
AfxMessageBox("没输入图书ID或读者ID");
return;
}
flag=Read(m_BkID,m_ReadID);
switch(flag)
{
case 1:AfxMessageBox("结束已经到达最大!请先还书!");break;
case 2:AfxMessageBox("借阅成功!");/*Read1(m_ReadID)*/;break;
case 3:AfxMessageBox("没找到图书!");break;
case 4:AfxMessageBox("已经被借阅!");break;
case 5:AfxMessageBox("没有该读者");break;
default:break;
}
}
BOOL CNorDlg1::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_pRecordset1.CreateInstance(__uuidof(Recordset));
m_pRecordset2.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset1->Open("SELECT * FROM DemoTable",theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
m_pRecordset2->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
}
int CNorDlg1::Read(CString m_BkID,CString m_ReadID)
{
int flag;
flag=0;
_variant_t var1;
CString strBkID,strBkName,strOutTime,strBkRead,strBkFlag;/*图书库*/
strBkID=strBkName=strOutTime=strBkRead=strBkFlag="";
_variant_t var;
CString strReadID,strReadNum;/*读者库*/
strReadID=strReadNum="";
///////////////////////////////////////////////////////////////////////////////////////////
CTime time=CTime::GetCurrentTime();
////////////////////////////////////////////验证读者存在和借书本数///////////////////////////////
try
{
if(!m_pRecordset2->BOF)
m_pRecordset2->MoveFirst();
else
{
AfxMessageBox("还没有读者存在!");
return 0;
}
while(!m_pRecordset2->adoEOF )
{
var = m_pRecordset2->GetCollect("EdID");
if(var.vt != VT_NULL)
{
strReadID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset2->GetCollect("EdNum");
if(var.vt != VT_NULL)
{
strReadNum = (LPCSTR)_bstr_t(var);
}
if(strReadID==m_ReadID && flag==0)
{
flag=1;
if(strReadNum=="3")
{
return 1;
}
if(strReadNum=="2")
{
strReadNum='3';
try
{
m_pRecordset2->PutCollect("EdNum", _variant_t(strReadNum));
m_pRecordset2->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
if(strReadNum=="1")
{
strReadNum='2';
try
{
m_pRecordset2->PutCollect("EdNum", _variant_t(strReadNum));
m_pRecordset2->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
if(strReadNum=="0")
{
strReadNum='1';
try
{
m_pRecordset2->PutCollect("EdNum", _variant_t(strReadNum));
m_pRecordset2->Update();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
}
else
m_pRecordset2->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
/////////////////////////////////////检查图书的存在和状态//////////////////////////////////////
try
{
if(!m_pRecordset1->BOF)
m_pRecordset1->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
return 0;
}
while(!m_pRecordset1->adoEOF )
{
var1 = m_pRecordset1->GetCollect("BkID");
if(var1.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var1);
}
var1 = m_pRecordset1->GetCollect("BkName");
if(var1.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var1);
}
var1 = m_pRecordset1->GetCollect("BkEditer");
if(var1.vt != VT_NULL)
{
strBkRead = (LPCSTR)_bstr_t(var1);
}
var1= m_pRecordset1->GetCollect("BkFlag");
if(var1.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var1);
}
if(m_BkID==strBkID )
{
if(strBkFlag=="")
{
strBkFlag=m_ReadID;
CString strOutTime=time.Format("%Y%m%d");
try
{
m_pRecordset1->PutCollect("BkData", _variant_t(strOutTime));
m_pRecordset1->PutCollect("BkFlag", _variant_t(strBkFlag));
m_pRecordset1->Update();
SetDlgItemText(IDC_BKEDITER,strBkRead);
SetDlgItemText(IDC_BKNAME,strBkName);
SetDlgItemText(IDC_OutTime,strOutTime);
return 2;
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
else
{
var1= m_pRecordset1->GetCollect("BkData");
if(var1.vt != VT_NULL)
{
strOutTime = (LPCSTR)_bstr_t(var1);
}
SetDlgItemText(IDC_BKEDITER,strBkRead);
SetDlgItemText(IDC_BKNAME,strBkName);
SetDlgItemText(IDC_OutTime,strOutTime);
return 4;
}
}
else
m_pRecordset1->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return 3;
}
BOOL CNorDlg1::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
m_pRecordset1->Close();
m_pRecordset1 =NULL;
m_pRecordset2->Close();
m_pRecordset2 =NULL;
return CDialog::DestroyWindow();
}
void CNorDlg1::OnCancle()
{
// TODO: Add your control notification handler code here
CNorDlg1 dlg1;
dlg1.OnCancle();
}
HBRUSH CNorDlg1::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 + -