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

📄 adminreaderinfo.cpp

📁 图书管理系统 带源码 文档
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// AdminReaderInfo.cpp : implementation file
//

#include "stdafx.h"
#include "library.h"
#include "AdminReaderInfo.h"
#include "_recordset.h"
#include "ADOConn.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

///////////////////////////////////////////////////////////////////////////
// CAdminReaderInfo dialog


CAdminReaderInfo::CAdminReaderInfo(CWnd* pParent /*=NULL*/)
	: CDialog(CAdminReaderInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(CAdminReaderInfo)
	m_EditQuery = _T("");
	m_RNo = _T("");
	m_RPW = _T("");
	m_RName = _T("");
	m_RTel = _T("");
	m_RAdd = _T("");
	m_RMax = _T("");
	m_RTime = _T("");
	m_RTotal = 0;
	m_RNow = 0;
	m_RPay = 0.0f;
	//}}AFX_DATA_INIT
}


void CAdminReaderInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdminReaderInfo)
	DDX_Control(pDX, IDC_COMBO3, m_Combo3);
	DDX_Control(pDX, IDC_COMBO2, m_Combo2);
	DDX_Control(pDX, IDC_COMBO1, m_Combo);
	DDX_Text(pDX, IDC_EDIT_QUERY, m_EditQuery);
	DDX_Control(pDX, IDC_ADODC1, m_ado);
	DDX_Control(pDX, IDC_DATAGRID1, m_DataGrid);
	DDX_Text(pDX, IDC_EDIT1, m_RNo);
	DDX_Text(pDX, IDC_EDIT2, m_RPW);
	DDX_Text(pDX, IDC_EDIT4, m_RName);
	DDX_Text(pDX, IDC_EDIT5, m_RTel);
	DDX_Text(pDX, IDC_EDIT6, m_RAdd);
	DDX_Text(pDX, IDC_EDIT10, m_RMax);
	DDX_Text(pDX, IDC_EDIT11, m_RTime);
	DDX_Text(pDX, IDC_EDIT9, m_RTotal);
	DDX_Text(pDX, IDC_EDIT8, m_RNow);
	DDX_Text(pDX, IDC_EDIT7, m_RPay);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdminReaderInfo, CDialog)
	//{{AFX_MSG_MAP(CAdminReaderInfo)
	ON_BN_CLICKED(IDC_BTN_QUERY, OnBtnQuery)
	ON_BN_CLICKED(IDC_BTN_PW, OnBtnPw)
	ON_BN_CLICKED(IDC_BTN_OK, OnBtnOk)
	ON_BN_CLICKED(IDC_BTN_INSERT, OnBtnInsert)
	ON_BN_CLICKED(IDC_BTN_FRESH, OnBtnFresh)
	ON_BN_CLICKED(IDC_BTN_EDIT, OnBtnEdit)
	ON_BN_CLICKED(IDC_BTN_DELETE, OnBtnDelete)
	ON_CBN_SELCHANGE(IDC_COMBO2, OnSelchangeCombo2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdminReaderInfo message handlers

BOOL CAdminReaderInfo::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_flag = 0;
	((CButton *)GetDlgItem(IDC_RADIO6))->SetCheck(TRUE);//选上
	m_Combo.SetCurSel(1);
	m_Combo2.SetCurSel(0);
	m_Combo3.SetCurSel(0);
	
	//((CButton *)GetDlgItem(IDC_BTN_INSERT))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_BTN_DELETE))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_BTN_FRESH))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_BTN_EDIT))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_BTN_PW))->EnableWindow(FALSE);

	((CButton *)GetDlgItem(IDC_CAOZUO))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT1))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT2))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT4))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT5))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT6))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT7))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT8))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT9))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT10))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT11))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_EDIT10))->SetWindowText("8");
	((CButton *)GetDlgItem(IDC_EDIT11))->SetWindowText("28");
	((CButton *)GetDlgItem(IDC_COMBO2))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_COMBO3))->EnableWindow(FALSE);
	((CButton *)GetDlgItem(IDC_BTN_OK))->EnableWindow(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CAdminReaderInfo::OnBtnQuery() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	int index;
	CString strCom,vSQL;
	vSQL = "Select RNo As 帐号,RName As 姓名, Type As 类型,Address As 地址 ";
	vSQL += " From Reader Where ";
	if (((CButton *)GetDlgItem(IDC_RADIO6))->GetCheck() == 1)
	{
		strCom = m_EditQuery + "%";
	}
	else 
	{
		strCom = "%" + m_EditQuery + "%";
	}
	index = m_Combo.GetCurSel();
	switch (index)
	{
	case 0:
		vSQL = vSQL + "RNo like '" +strCom + "'"; 
		break;
	case 1:
		vSQL = vSQL + "RName like '" +strCom + "'"; 
		break;
	case 2:
		if (m_EditQuery == "1")
			strCom = "学生";
		else if (m_EditQuery == "2")
			strCom = "教师"; 
		else if (m_EditQuery == "3")
			strCom = "外单位";
		else
			strCom = "";
		vSQL = vSQL + "Type='" +strCom + "'"; 
		break;
	case 3:
		vSQL = vSQL + "Address like '" +strCom + "'"; 
		break;
	}
	m_ado.SetRecordSource(vSQL);		//刷新ADO Data控件的记录源
	m_ado.Refresh();

	RefreshData();
	
	UpdateData(false);
}

void CAdminReaderInfo::OnBtnPw() 
{
	// TODO: Add your control notification handler code here
	MessageBox("帐号为 "+reader.GetNo()+" 的读者的密码为:"+reader.GetPW()+ "  请记住密码!");
}

void CAdminReaderInfo::OnBtnOk() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
	if (m_RName=="")
	{
		MessageBox("姓名不能为空!");
		return;
	}
	if (m_flag == 2)//更新
	{	
		CString str;
		int i=m_Combo2.GetCurSel();
		if (i==0)
			str = "学生";
		else if (i==1)
			str = "教师";
		else 
			str = "外单位";
		reader.SetType(str);
		i=m_Combo3.GetCurSel();
		if (i==0)
			str = "男";
		else
			str = "女";
		reader.SetSex(str);
		reader.SetName(m_RName);
		reader.SetPay(m_RPay);
		reader.SetTel(m_RTel);
		reader.SetAddress(m_RAdd);
		
		reader.SQL_Update(reader.GetNo());
		MessageBox("更新成功!");
	}
	else //flag=1;
	{
		UpdateData(true);
		if (m_RName=="")
		{
			MessageBox("姓名不能为空!!");
			return;
		}
		CString stype,vNo,sex;
		int itype = m_Combo2.GetCurSel();
		switch (itype)
		{
		case 0:
			stype="学生";
			vNo="S";
			break;
		case 1:
			stype="教师";
			vNo="T";
			break;
		case 2:
			stype="外单位";
			vNo="F";
			break;
		}
		CReader r;
		r.SetAddress(m_RAdd);
		r.SetBrNum(0);
		r.SetName(m_RName);
		r.SetPay(0.0);
		r.SetTel(m_RTel);
		r.SetTotalNum(0);
		r.SetType(stype);
		itype=m_Combo3.GetCurSel();
		if (itype==0)
			r.SetSex("男");
		else
			r.SetSex("女");
		ADOConn m_AdoConn;
		m_AdoConn.OnInitADOConn();
		
		_bstr_t vSQL;
		vSQL = "select top 1 RNo from Reader where Type='"+stype+"' order by RNo desc";
		_RecordsetPtr m_pRecordset;
		m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
		
		if (m_pRecordset->adoEOF)
		{
			vNo=vNo+"000001";

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -