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

📄 bkdlg2.cpp

📁 自己 写的 玩下 还有 很多 功能要 大家一起 开发
💻 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 + -