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

📄 dialog2.cpp

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