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

📄 ryxxdlg.cpp

📁 图书馆信息管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// RYXXDLG.cpp : implementation file
//

#include "stdafx.h"
#include "GG.h"
#include "RYXXDLG.h"
#include "ADOConn.h"
#include "Ryxxcxdlg.h"


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

/////////////////////////////////////////////////////////////////////////////
// CRYXXDLG dialog


CRYXXDLG::CRYXXDLG(CWnd* pParent /*=NULL*/)
	: CDialog(CRYXXDLG::IDD, pParent)
{
	//{{AFX_DATA_INIT(CRYXXDLG)
	m_DZXM = _T("");
	m_DZBH = _T("");
	m_XB = _T("");
	m_GZDW = _T("");
	m_DJRQ = _T("");
	m_YJSSL = _T("");
	m_JTDZ = _T("");
	m_DZLB = _T("");
	m_DHHM = _T("");
	//}}AFX_DATA_INIT
	i=true;
	m_RYCX="";
}


void CRYXXDLG::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CRYXXDLG)
	DDX_Control(pDX, IDC_COMBO3, m_CDZLB);
	DDX_Control(pDX, IDC_RYXX_LIST, m_list_ryxx);
	DDX_Text(pDX, IDC_EDIT1, m_DZXM);
	DDX_Text(pDX, IDC_EDIT2, m_DZBH);
	DDX_CBString(pDX, IDC_COMBO1, m_XB);
	DDX_Text(pDX, IDC_EDIT3, m_GZDW);
	DDX_Text(pDX, IDC_EDIT6, m_DJRQ);
	DDX_Text(pDX, IDC_EDIT7, m_YJSSL);
	DDX_Text(pDX, IDC_EDIT4, m_JTDZ);
	DDX_CBString(pDX, IDC_COMBO3, m_DZLB);
	DDX_Text(pDX, IDC_EDIT5, m_DHHM);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CRYXXDLG, CDialog)
	//{{AFX_MSG_MAP(CRYXXDLG)
	ON_BN_CLICKED(IDC_RYXX_ADD, OnRyxxAdd)
	ON_BN_CLICKED(IDC_RYXX_EDIT, OnRyxxEdit)
	ON_BN_CLICKED(IDC_RYXX_DEL, OnRyxxDel)
	ON_BN_CLICKED(IDC_RYXX_QUERY, OnRyxxQuery)
	ON_NOTIFY(NM_CLICK, IDC_RYXX_LIST, OnClickRyxxList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CRYXXDLG message handlers

BOOL CRYXXDLG::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_list_ryxx.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
	m_list_ryxx.SetBkColor(RGB(247,247,255));
	m_list_ryxx.SetTextColor(RGB(0,0,255));
	m_list_ryxx.SetTextBkColor(RGB(247,247,255));
	m_list_ryxx.InsertColumn(0, "姓名", LVCFMT_LEFT, 90);
	m_list_ryxx.InsertColumn(1, "编号", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(2, "性别", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(3, "类别", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(4, "工作单位", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(5, "家庭住址", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(6, "电话号码", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(7, "登记日期", LVCFMT_LEFT, 130);
	m_list_ryxx.InsertColumn(8, "已借书数量", LVCFMT_LEFT, 130);
	
	CRYXXDLG::ShowDate();
		/////////////////////////////////////////////
	//连接数据库
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		strSql.Format("SELECT * FROM %s","读者类别");
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	
	///////////////////////////////////////////////
	if(!m_AdoConn.m_pRecordset->BOF)
		m_AdoConn.m_pRecordset->MoveFirst();
	else
	{
		AfxMessageBox("表内数据为空");
		return 0;
	}

	CString s;
	
	m_AdoConn.m_pRecordset->MoveFirst();
	while(!m_AdoConn.m_pRecordset->adoEOF)
	{
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("种类名称"));	
		}
		catch(...)
		{
			s="      ";
		}
		m_CDZLB.AddString(s);
		
		
		UpdateData(FALSE);
		m_AdoConn.m_pRecordset->MoveNext();
	}


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

void CRYXXDLG::ShowDate()
{
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		if(i)
	
		{	strSql.Format("SELECT * FROM %s","读者信息");}
		else

		{	
			strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
			strSql=strSql+"'"+m_RYCX+"'";
		}
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	m_list_ryxx.DeleteAllItems();
	
	
	///////////////////////////////////////////////
	if(!m_AdoConn.m_pRecordset->BOF)
		m_AdoConn.m_pRecordset->MoveFirst();
	else
	{
		AfxMessageBox("表内数据为空");
		return;
	}

	CString s;
	int iIndex=0;
	m_AdoConn.m_pRecordset->MoveFirst();
	while(!m_AdoConn.m_pRecordset->adoEOF)
	{
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者姓名"));	
		}
		catch(...)
		{
			s="      ";
		}
		m_list_ryxx.InsertItem(iIndex,s,0);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者编号"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,1,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("性别"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,2,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("读者类别"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,3,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("工作单位"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,4,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("家庭地址"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,5,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("电话号码"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,6,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("登记日期"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,7,s);
		try
		{
			s=(LPCSTR)_bstr_t(m_AdoConn.m_pRecordset->GetCollect("已借书数量"));
		}
		catch(...)
		{
			s="      ";
		}				
		m_list_ryxx.SetItemText(iIndex,8,s);
		UpdateData(FALSE);
		m_AdoConn.m_pRecordset->MoveNext();
		iIndex++;
		
	}

	//////////////////////////////////////////
	m_AdoConn.ExitConnect();


}

void CRYXXDLG::OnRyxxAdd() 
{
	// TODO: Add your control notification handler code here
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
	CString s;
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		if(i)
	
		strSql.Format("SELECT * FROM %s","读者信息");
		else
		{	
			strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
			strSql=strSql+"'"+m_RYCX+"'";
		}
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	UpdateData(true);
	if(m_DZXM== "" ||m_DZLB== "")
		{
			AfxMessageBox("姓名和类别不能为空!");
			return;
		}
	try
	{
		m_AdoConn.m_pRecordset->AddNew();
		m_AdoConn.m_pRecordset->PutCollect("读者编号", _variant_t(m_DZBH));
		m_AdoConn.m_pRecordset->PutCollect("读者姓名", _variant_t(m_DZXM));
		m_AdoConn.m_pRecordset->PutCollect("读者类别", _variant_t(m_DZLB));
		m_AdoConn.m_pRecordset->PutCollect("性别", _variant_t(m_XB));
		m_AdoConn.m_pRecordset->PutCollect("工作单位", _variant_t(m_GZDW));
		m_AdoConn.m_pRecordset->PutCollect("家庭地址", _variant_t(m_JTDZ));
		m_AdoConn.m_pRecordset->PutCollect("电话号码", _variant_t(m_DHHM));
		m_AdoConn.m_pRecordset->PutCollect("登记日期", _variant_t(m_DJRQ));
		m_AdoConn.m_pRecordset->PutCollect("已借书数量", _variant_t(m_YJSSL));
		
		m_AdoConn.m_pRecordset->Update();

		
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	MessageBox("插入成功!");


	m_AdoConn.ExitConnect();
	ShowDate();
	
}

void CRYXXDLG::OnRyxxEdit() 
{
	// TODO: Add your control notification handler code here
	ADOConn m_AdoConn;
	m_AdoConn.OnInitADOConn();
    
	m_AdoConn.m_pRecordset.CreateInstance(__uuidof(Recordset));
	try
	{		CString strSql;
		if(i)
	
		strSql.Format("SELECT * FROM %s","读者信息");
		else
		{	
			strSql="SELECT * FROM 读者信息 WHERE 读者类别=";
			strSql=strSql+"'"+m_RYCX+"'";
		}
		//rSql="SELECT DateA,Sum(MoneyA) as MoneySum FROM Budget group by DateA having DateA>=#2004-8-1# and DateA<=#2004-8-2#";
		m_AdoConn.m_pRecordset->Open(_variant_t(strSql),                // 查询DemoTable表中所有字段
		m_AdoConn.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}  
	POSITION pos=m_list_ryxx.GetFirstSelectedItemPosition();
	if(pos==NULL)
		return;
	int nItem=m_list_ryxx.GetNextSelectedItem(pos);
	m_AdoConn.m_pRecordset->Move(nItem);
	try
	{
		
		m_AdoConn.m_pRecordset->PutCollect("读者编号", _variant_t(m_DZBH));
		m_AdoConn.m_pRecordset->PutCollect("读者姓名", _variant_t(m_DZXM));
		m_AdoConn.m_pRecordset->PutCollect("读者类别", _variant_t(m_DZLB));
		m_AdoConn.m_pRecordset->PutCollect("性别", _variant_t(m_XB));
		m_AdoConn.m_pRecordset->PutCollect("工作单位", _variant_t(m_GZDW));
		m_AdoConn.m_pRecordset->PutCollect("家庭地址", _variant_t(m_JTDZ));
		m_AdoConn.m_pRecordset->PutCollect("电话号码", _variant_t(m_DHHM));
		m_AdoConn.m_pRecordset->PutCollect("登记日期", _variant_t(m_DJRQ));
		m_AdoConn.m_pRecordset->PutCollect("已借书数量", _variant_t(m_YJSSL));
		
		m_AdoConn.m_pRecordset->Update();

		
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	MessageBox("修改成功!");


	m_AdoConn.ExitConnect();
	ShowDate();

	
}

void CRYXXDLG::OnRyxxDel() 
{
	// TODO: Add your control notification handler code here

⌨️ 快捷键说明

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