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

📄 dialog1.cpp

📁 自己 写的 玩下 还有 很多 功能要 大家一起 开发
💻 CPP
字号:
// Dialog1.cpp : implementation file
//

#include "stdafx.h"
#include "图书管理系统.h"
#include "Dialog1.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CDialog1 dialog
extern CMyApp theApp;
CDialog1::CDialog1(CWnd* pParent /*=NULL*/)
	: CDialog(CDialog1::IDD, pParent)
{ 
	//{{AFX_DATA_INIT(CDialog1)
	m_bkID = _T("");
	m_bkLei = _T("");
	m_bkName = _T("");
	m_bkPrice = _T("");
	m_bkFlag = _T("");
	m_bkExmple = _T("");
	m_bkEditer = _T("");
	m_bkAddress = _T("");
	//}}AFX_DATA_INIT
	
  
}


void CDialog1::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDialog1)
	DDX_Text(pDX, IDC_BKID, m_bkID);
	DDX_Text(pDX, IDC_BKLEI, m_bkLei);
	DDX_Text(pDX, IDC_BKNAME, m_bkName);
	DDX_Text(pDX, IDC_BKPRICE, m_bkPrice);
	DDX_Text(pDX, IDC_BKFLAG, m_bkFlag);
	DDX_Text(pDX, IDC_BKEXEMPLE, m_bkExmple);
	DDX_Text(pDX, IDC_BKEDITER, m_bkEditer);
	DDX_Text(pDX, IDC_BKADDRESS, m_bkAddress);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDialog1, CDialog)
	//{{AFX_MSG_MAP(CDialog1)
	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()

/////////////////////////////////////////////////////////////////////////////
// CDialog1 message handlers

BOOL CDialog1::OnInitDialog() 
{
	CDialog::OnInitDialog();
	// TODO: Add extra initialization here
 
	m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{
  
	m_pRecordset->Open("SELECT * FROM DemoTable",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 CDialog1::OnBtnAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_bkName == "" || m_bkAddress == ""|| m_bkEditer=="" || m_bkExmple=="" || 
		m_bkPrice=="" || m_bkLei=="" || m_bkID=="" || m_bkFlag=="")
	{
		AfxMessageBox("没有输入完整的内容!");
		return;
	}
	if(Read(m_bkID)==1)
	{
        AfxMessageBox("图书号重复!");
		return;
	}
	else 
	{
	try
	{
		// 写入各字段值
		m_pRecordset->AddNew();
        m_pRecordset->PutCollect("BkID", _variant_t(m_bkID));
		m_pRecordset->PutCollect("BkName", _variant_t(m_bkName));
		m_pRecordset->PutCollect("BkEditer", _variant_t(m_bkEditer));
		m_pRecordset->PutCollect("BkAddress", _variant_t(m_bkAddress));
		m_pRecordset->PutCollect("BkPrice", _variant_t(m_bkPrice));
		m_pRecordset->PutCollect("BkExmple", _variant_t(m_bkExmple));
		m_pRecordset->PutCollect("BkFlag", _variant_t(m_bkFlag));
		m_pRecordset->Update();

		AfxMessageBox("插入成功!");

	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}	
	}
}

void CDialog1::OnBtnDelete() 
{
	// TODO: Add your control notification handler code here
	UpdateData();
	
	if(m_bkName == "" || m_bkAddress == ""|| m_bkEditer=="" || m_bkExmple=="" || 
		m_bkPrice=="" || m_bkLei=="" || m_bkID=="" || m_bkFlag=="")
	{
		AfxMessageBox("没有选择要删除的项!");
		return;
	}
	if( Read(m_bkID)==1)
	{
		try
		{
			m_pRecordset->Delete(adAffectCurrent);
			m_pRecordset->Update();
			AfxMessageBox("删除成功!");
			
		}
		catch(_com_error *e)
		{
			AfxMessageBox(e->ErrorMessage());
		}	
	}
	else
		AfxMessageBox("没有该图书!");
}

void CDialog1::OnBtnSet() 
{
	// TODO: Add your control notification handler code here
	UpdateData();        // 更新对话框数据
	if(m_bkName == "" || m_bkAddress == ""|| m_bkEditer=="" || m_bkExmple=="" || 
		m_bkPrice=="" || m_bkLei=="" || m_bkID=="" || m_bkFlag=="")
	{
		AfxMessageBox("表中记录数为空或姓名和年龄信息没有设置!");
		return;
	}
  if(Read(m_bkID)==1)
  {
	// 修改当前记录的字段值
	try
	{
	    m_pRecordset->PutCollect("BkID", _variant_t(m_bkID));
		m_pRecordset->PutCollect("BkName", _variant_t(m_bkName));
		m_pRecordset->PutCollect("BkEditer", _variant_t(m_bkEditer));
		m_pRecordset->PutCollect("BkAddress", _variant_t(m_bkAddress));
		m_pRecordset->PutCollect("BkPrice", _variant_t(m_bkPrice));
		m_pRecordset->PutCollect("BkExmple", _variant_t(m_bkExmple));
		m_pRecordset->PutCollect("BkFlag", _variant_t(m_bkFlag));
		m_pRecordset->Update();
		AfxMessageBox("修改成功!");
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}	
  }
  else 
	  AfxMessageBox("没有该图书!");
}

BOOL CDialog1::DestroyWindow() 
{
	// TODO: Add your specialized code here and/or call the base class
	m_pRecordset->Close();
	m_pRecordset =NULL;
	return CDialog::DestroyWindow();
}

int CDialog1::Read(CString m_bkID/*,CString m_bkName,CString m_bkEditer,CString m_bkAddress,
				   CString m_bkPrice,CString m_bkExmple,CString m_bkFlag*/)
{
	_variant_t var;
     CString strbkName,strbkID,strbkEditer,strbkAddress,strbkExmple,strbkPrice,strbkFlag;
	strbkName=strbkID=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("BkID");
			if(var.vt != VT_NULL)
			{	
				strbkID = (LPCSTR)_bstr_t(var);
				SetDlgItemText(IDC_BKNAME,strbkID);
			}
			var = m_pRecordset->GetCollect("BkName");
			if(var.vt != VT_NULL)
			{
				strbkName = (LPCSTR)_bstr_t(var);
				SetDlgItemText(IDC_BKNAME,strbkName);
			}
			var = m_pRecordset->GetCollect("BkEditer");
			if(var.vt != VT_NULL)
			{
				strbkEditer = (LPCSTR)_bstr_t(var);
				 SetDlgItemText(IDC_BKNAME,strbkEditer);
			}
            var = m_pRecordset->GetCollect("BkAddress");
			if(var.vt != VT_NULL)
			{
				strbkAddress = (LPCSTR)_bstr_t(var);
				 SetDlgItemText(IDC_BKNAME,strbkAddress);
			}
			var = m_pRecordset->GetCollect("BkPrice");
			if(var.vt != VT_NULL)
			{
				strbkPrice = (LPCSTR)_bstr_t(var);
				 SetDlgItemText(IDC_BKNAME,strbkPrice);
			}
				var = m_pRecordset->GetCollect("BkExmple");
			if(var.vt != VT_NULL)
			{
				strbkExmple = (LPCSTR)_bstr_t(var);
				 SetDlgItemText(IDC_BKNAME,strbkExmple);
			}
				var = m_pRecordset->GetCollect("BkFlag");
			if(var.vt != VT_NULL)
			{	
				strbkFlag = (LPCSTR)_bstr_t(var);
				 SetDlgItemText(IDC_BKNAME,strbkFlag);
			}  
	    	if(m_bkID==strbkID)
			 {
				 return 1;
				 break;
			 }
			else
             m_pRecordset->MoveNext();
		}
        
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	return 2;
}

void CDialog1::OnPgdown() 
{
	// TODO: Add your control notification handler code here
   Read(m_bkID)	;
}

void CDialog1::OnPgup() 
{
	// TODO: Add your control notification handler code here
//	m_bkID-=1;
	Read(m_bkID);
}

HBRUSH CDialog1::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 + -