📄 bookmanagedlg.cpp
字号:
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 + -