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

📄 bookmanagedlg.cpp

📁 书库管理 使用时要输入密码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			while(!m_pRecordset->adoEOF)
			{
				temp=(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号"));
				if( temp == bookcode)
				{
					int status = atoi((char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
					CString sstatus;
					CString lender = (char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人"));
					lender.Replace("无","");
					lender += " ";
					lender +=dlglend.m_sLender;
					lender.Format("%s%s%s%s",lender,"(",nowtime,")");
					
					
					
					m_pRecordset->PutCollect("借阅人", _variant_t(lender));

//					m_pRecordset->PutCollect("借出时间", _variant_t(nowtime));

					sstatus.Format("%d",status-1);
					m_pRecordset->PutCollect("状态", _variant_t(sstatus));

					m_pRecordset->Update();
					AfxMessageBox("成功借阅!");
					break;

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

		m_ListBook.DeleteAllItems();
		m_commandptr->CommandText = _bstr_t(m_CurSql);
		m_commandptr->CommandType =adCmdText;	
		m_pRecordset = m_commandptr->Execute(NULL,NULL,adCmdUnknown);
		int i = 0;
		m_pRecordset->MoveFirst();
		char ch[10];
		while(!m_pRecordset ->adoEOF)
		{
			LV_ITEM m_ListItem;
			m_ListItem.mask=LVIF_TEXT;
			str.Format("%d",i);
			sscanf(str,"%s",ch);
			m_ListItem.pszText=ch;
			m_ListItem.iItem = i;
			m_ListItem.iSubItem = 0;
			m_ListBook.InsertItem(&m_ListItem);



			m_ListBook.SetItemText(i,1,(char*)(_bstr_t)(m_pRecordset->GetCollect("书名")));
			m_ListBook.SetItemText(i,2,(char*)(_bstr_t)(m_pRecordset->GetCollect("作者")));
			m_ListBook.SetItemText(i,3,(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号")));
			m_ListBook.SetItemText(i,4,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版社")));
			m_ListBook.SetItemText(i,5,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版时间")));
			m_ListBook.SetItemText(i,6,(char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
			m_ListBook.SetItemText(i,7,(char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人")));
			m_ListBook.SetItemText(i,8,(char*)(_bstr_t)(m_pRecordset->GetCollect("页数")));

			i++;
			m_pRecordset->MoveNext();
		}

		m_pRecordset->Close();
		m_pRecordset = NULL;

	
		
	}

}

void CBookManageDlg::OnDel()
{
	// TODO: 在此添加命令处理程序代码
	POSITION pos = m_ListBook.GetFirstSelectedItemPosition();
	int nItem = m_ListBook.GetNextSelectedItem(pos);

	CString bookname = m_ListBook.GetItemText(nItem,1);
	if(bookname.IsEmpty())
	{
		AfxMessageBox("请先选择书籍!");
		return;
	}
	CString str;
	

	CString bookcode;
	bookcode = m_ListBook.GetItemText(nItem,3);

	_RecordsetPtr  m_pRecordset;
	
	try
	{
		m_pRecordset.CreateInstance (__uuidof(Recordset));

		m_pRecordset->Open("SELECT * FROM BookManager",                // 查询DemoTable表中所有字段
			theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);

		m_pRecordset->MoveFirst();

		CString temp;
		CDlgBack backdlg;

		while(!m_pRecordset->adoEOF)
		{
			temp=(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号"));
			if( temp == bookcode)
			{

				m_pRecordset->Delete(adAffectCurrent);
				AfxMessageBox("成功删除纪录");
				m_ListBook.DeleteAllItems();
				m_commandptr->CommandText = _bstr_t(m_CurSql);
				m_commandptr->CommandType =adCmdText;	
				m_pRecordset = m_commandptr->Execute(NULL,NULL,adCmdUnknown);
				int i = 0;
				m_pRecordset->MoveFirst();
				char ch[10];
				while(!m_pRecordset ->adoEOF)
				{
					LV_ITEM m_ListItem;
					m_ListItem.mask=LVIF_TEXT;
					str.Format("%d",i);
					sscanf(str,"%s",ch);
					m_ListItem.pszText=ch;
					m_ListItem.iItem = i;
					m_ListItem.iSubItem = 0;
					m_ListBook.InsertItem(&m_ListItem);



					m_ListBook.SetItemText(i,1,(char*)(_bstr_t)(m_pRecordset->GetCollect("书名")));
					m_ListBook.SetItemText(i,2,(char*)(_bstr_t)(m_pRecordset->GetCollect("作者")));
					m_ListBook.SetItemText(i,3,(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号")));
					m_ListBook.SetItemText(i,4,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版社")));
					m_ListBook.SetItemText(i,5,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版时间")));
					m_ListBook.SetItemText(i,6,(char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
					m_ListBook.SetItemText(i,7,(char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人")));
					m_ListBook.SetItemText(i,8,(char*)(_bstr_t)(m_pRecordset->GetCollect("页数")));

					i++;
					m_pRecordset->MoveNext();
				}

				break;
			}
			m_pRecordset->MoveNext();

		}

	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
	}
	m_pRecordset->Close();
	m_pRecordset = NULL;

	
}

void CBookManageDlg::OnBack()
{
	// TODO: 在此添加命令处理程序代码

	POSITION pos = m_ListBook.GetFirstSelectedItemPosition();
	int nItem = m_ListBook.GetNextSelectedItem(pos);

	CString bookname = m_ListBook.GetItemText(nItem,1);
	if(bookname.IsEmpty())
	{
		AfxMessageBox("请先选择书籍!");
		return;
	}
	CString str;
	str = m_ListBook.GetItemText(nItem,6);
	

	CString nowtime;
	CTime now=CTime::GetCurrentTime();
	nowtime=now.Format(_T("%Y%m%d"));

	CString bookcode;
	bookcode = m_ListBook.GetItemText(nItem,3);



	_RecordsetPtr  m_pRecordset;
	try
	{
		m_pRecordset.CreateInstance (__uuidof(Recordset));

		m_pRecordset->Open("SELECT * FROM BookManager",                // 查询DemoTable表中所有字段
			theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
			adOpenDynamic,
			adLockOptimistic,
			adCmdText);

		m_pRecordset->MoveFirst();

		CString temp;
		CDlgBack backdlg;
		CString bookname;
		int status=0;
		while(!m_pRecordset->adoEOF)
		{
			temp=(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号"));
			if( temp == bookcode)
			{
				status = atoi((char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
				bookname = (char*)(_bstr_t)(m_pRecordset->GetCollect("书名"));
				
				if(!status < 1)
				{
					if(AfxMessageBox("书库中已有此书,确定要还吗?",MB_YESNO) != IDYES)
					{
						return;
					}
				}
				break;
			}
			m_pRecordset->MoveNext();

		}
				backdlg.m_BookName = bookname;
				int nRespond = backdlg.DoModal();

				
				if(nRespond == IDOK)
				{
					CString lender = (char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人"));

					int Index = lender.Find(backdlg.m_LenderName);
					if(Index>0)
					{
						CString Tempstr;
						int length = lender.GetLength();
						Tempstr = lender.Right(length-Index);

						int Index1 = Tempstr.Find(" ");
						if(Index1>1)
						{
							Tempstr = Tempstr.Left(Index1);	
							lender.Replace(Tempstr,"");
						}
						else
						{
							Tempstr = lender;
							lender.Replace(Tempstr,"无");
						}
						
						
						CString sstatus;
						sstatus.Format("%d",status+1);
						m_pRecordset->PutCollect("借阅人", _variant_t(lender));
						//						m_pRecordset->PutCollect("借出时间", _variant_t("暂无"));
						m_pRecordset->PutCollect("状态", _variant_t(sstatus));

						m_pRecordset->Update();
						AfxMessageBox("已还.");
						m_pRecordset->Close();

						m_ListBook.DeleteAllItems();
						m_commandptr->CommandText = _bstr_t(m_CurSql);
						m_commandptr->CommandType =adCmdText;	
						m_pRecordset = m_commandptr->Execute(NULL,NULL,adCmdUnknown);
						int i = 0;
						m_pRecordset->MoveFirst();
						char ch[10];
						while(!m_pRecordset ->adoEOF)
						{
							LV_ITEM m_ListItem;
							m_ListItem.mask=LVIF_TEXT;
							str.Format("%d",i);
							sscanf(str,"%s",ch);
							m_ListItem.pszText=ch;
							m_ListItem.iItem = i;
							m_ListItem.iSubItem = 0;
							m_ListBook.InsertItem(&m_ListItem);



							m_ListBook.SetItemText(i,1,(char*)(_bstr_t)(m_pRecordset->GetCollect("书名")));
							m_ListBook.SetItemText(i,2,(char*)(_bstr_t)(m_pRecordset->GetCollect("作者")));
							m_ListBook.SetItemText(i,3,(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号")));
							m_ListBook.SetItemText(i,4,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版社")));
							m_ListBook.SetItemText(i,5,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版时间")));
							m_ListBook.SetItemText(i,6,(char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
							m_ListBook.SetItemText(i,7,(char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人")));
							m_ListBook.SetItemText(i,8,(char*)(_bstr_t)(m_pRecordset->GetCollect("页数")));

							i++;
							m_pRecordset->MoveNext();
						}
						
					}
					else
					{
						AfxMessageBox("您没有借这本书!");
					}

					
				}

			}
			


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

	

	m_pRecordset->Close();
	m_pRecordset = NULL;

	
}

void CBookManageDlg::OnAbout()
{
	// TODO: 在此添加命令处理程序代码
	CAboutDlg dlg;
	dlg.DoModal();
}
#include "dlgmodify.h"
void CBookManageDlg::OnModifyData()
{
	// TODO: 在此添加命令处理程序代码
	CDlgModify dlg;

	
	POSITION pos = m_ListBook.GetFirstSelectedItemPosition();
	int nItem = m_ListBook.GetNextSelectedItem(pos);

	CString bookname = dlg.m_sBookName = m_ListBook.GetItemText(nItem,1);
	if(bookname.IsEmpty())
	{
		AfxMessageBox("请先选择书籍!");
		return;
	}

	
	
	CString bookcode;
	dlg.m_sBianHao = bookcode = m_ListBook.GetItemText(nItem,3);
	dlg.m_sAuthor = m_ListBook.GetItemText(nItem,2);
	dlg.m_sPubic = m_ListBook.GetItemText(nItem,4);
	dlg.m_sTime = m_ListBook.GetItemText(nItem,5);
	dlg.m_nStatus = atoi(m_ListBook.GetItemText(nItem,6));
	dlg.m_Yshu = m_ListBook.GetItemText(nItem,8);
	int nRespond = dlg.DoModal();

	UpdateData();
	if(nRespond == IDOK)
	{
		_RecordsetPtr  m_pRecordset;
		try
		{
			m_pRecordset.CreateInstance (__uuidof(Recordset));

			m_pRecordset->Open("SELECT * FROM BookManager",                // 查询DemoTable表中所有字段
							theApp.m_pConnection.GetInterfacePtr(),	 // 获取库接库的IDispatch指针
							adOpenDynamic,
							adLockOptimistic,
							adCmdText);
		
			m_pRecordset->MoveFirst();

			CString temp;
			
			while(!m_pRecordset->adoEOF)
			{
				temp=(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号"));
				if( temp == bookcode)
				{

					
					m_pRecordset->PutCollect("书名", _variant_t(dlg.m_sBookName));
					m_pRecordset->PutCollect("书籍编号", _variant_t(dlg.m_sBianHao));
					m_pRecordset->PutCollect("作者", _variant_t(dlg.m_sAuthor));
					m_pRecordset->PutCollect("出版社", _variant_t(dlg.m_sPubic));
					m_pRecordset->PutCollect("出版时间", _variant_t(dlg.m_sTime));
					m_pRecordset->PutCollect("页数", _variant_t(dlg.m_Yshu));
					m_pRecordset->Update();
					AfxMessageBox("修改成功!");
					break;

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

		m_ListBook.DeleteAllItems();
		m_commandptr->CommandText = _bstr_t(m_CurSql);
		m_commandptr->CommandType =adCmdText;	
		m_pRecordset = m_commandptr->Execute(NULL,NULL,adCmdUnknown);
		int i = 0;
		m_pRecordset->MoveFirst();
		char ch[10];
		CString str;
		while(!m_pRecordset ->adoEOF)
		{
			LV_ITEM m_ListItem;
			m_ListItem.mask=LVIF_TEXT;
			str.Format("%d",i);
			sscanf(str,"%s",ch);
			m_ListItem.pszText=ch;
			m_ListItem.iItem = i;
			m_ListItem.iSubItem = 0;
			m_ListBook.InsertItem(&m_ListItem);



			m_ListBook.SetItemText(i,1,(char*)(_bstr_t)(m_pRecordset->GetCollect("书名")));
			m_ListBook.SetItemText(i,2,(char*)(_bstr_t)(m_pRecordset->GetCollect("作者")));
			m_ListBook.SetItemText(i,3,(char*)(_bstr_t)(m_pRecordset->GetCollect("书籍编号")));
			m_ListBook.SetItemText(i,4,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版社")));
			m_ListBook.SetItemText(i,5,(char*)(_bstr_t)(m_pRecordset->GetCollect("出版时间")));
			m_ListBook.SetItemText(i,6,(char*)(_bstr_t)(m_pRecordset->GetCollect("状态")));
			m_ListBook.SetItemText(i,7,(char*)(_bstr_t)(m_pRecordset->GetCollect("借阅人")));
			m_ListBook.SetItemText(i,8,(char*)(_bstr_t)(m_pRecordset->GetCollect("页数")));

			i++;
			m_pRecordset->MoveNext();
		}

		m_pRecordset->Close();
		m_pRecordset = NULL;

	
		
	}
}

void CBookManageDlg::OnNMClickBooklist(NMHDR *pNMHDR, LRESULT *pResult)
{
	// TODO: 在此添加控件通知处理程序代码
	*pResult = 0;
}

⌨️ 快捷键说明

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