📄 querydlg.cpp
字号:
else
{
switch (qType_)
{
case QBOOK:
strKey[0] = strID_;
strKey[1] = strName_;
strKey[2] =strType_;
strField[0] = _T("BookID");
IsStr[0] = TRUE;
strField[1] = _T("BookName");
IsStr[1] = TRUE;
strField[2] = _T("Type");
IsStr[2] = TRUE;
strRSName = _T("BookInfo");
break;
case QREADER:
strKey[0] = strID_;
if (!theApp.IsManager() && (strID_.IsEmpty() || strID_ != theApp.GetOperator()))
{
if (!bRefresh_)
{
MessageBox(_T("您不是管理人员,只能查询自己的记录!\n请准确输入您的ID!"),
theApp.strSystemName, MB_OK | MB_ICONINFORMATION);
}
return ;
}
strKey[1] = strName_;
strKey[2] =strType_;
strField[0] = _T("ReaderID");
IsStr[0] = TRUE;
strField[1] = _T("RederName");
IsStr[2] = TRUE;
strField[2] = _T("Type");
IsStr[2] = TRUE;
strRSName = _T("ReaderInfo");
break;
case QBORROW:
strKey[0] = strID_;
strKey[1] = strReaderID_;
if (!theApp.IsManager() && (strReaderID_.IsEmpty() || strReaderID_ != theApp.GetOperator()))
{
if (!bRefresh_)
{
MessageBox(_T("您不是管理人员,只能查询自己的记录!\n请准确输入您的ID!"),
theApp.strSystemName, MB_OK | MB_ICONINFORMATION);
}
return ;
}
strKey[2] = strBookID_;
strField[0] = _T("ID");
IsStr[0] = FALSE;
strField[1] = _T("ReaderID");
IsStr[1] = TRUE;
strField[2] = _T("BookID");
IsStr[2] = TRUE;
strRSName = _T("BorrowInfo");
break;
}
GenerateSQL(strKey[0], strField[0], IsStr[0], strKey[1], strField[1], IsStr[1],
strKey[2], strField[2], IsStr[2], strRSName, strSQL);
}
ctrlResultList.DeleteAllItems();
ctrlResultList.SetRedraw(FALSE);
int i;
CString strText, strSQL2;
switch(qType_)
{
case QBOOK:
i = 0;
if (bkRS.IsOpen())bkRS.Close();
if (!bkRS.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL))
{
if (!bRefresh_)//! 刷新显示时不弹出对话框
AfxMessageBox(IDS_OPENDBFAIL);
return ;
}
if(bkRS.GetRecordCount() == 0)
{
bkRS.Close();
if (!bRefresh_)//! 刷新显示时不弹出对话框
MessageBox(_T("查询结果为空!"), theApp.strSystemName);
return;
}
while(!bkRS.IsEOF())
{
strDatas_[0] = bkRS.strBookID_;
strDatas_[1] = bkRS.strBookName_;
strDatas_[2] = bkRS.strBookType_;
strDatas_[3] = bkRS.strAuthor_;
strDatas_[4] = bkRS.strPress_;
strDatas_[5].Format(_T("%f"), bkRS.dPrice_);
strDatas_[6].Format(_T("%d-%d-%d"), bkRS.olePressDT_.GetYear(),
bkRS.olePressDT_.GetMonth(), bkRS.olePressDT_.GetDay());
strDatas_[7].Format(_T("%d-%d-%d"), bkRS.oleInDT_.GetYear(),
bkRS.oleInDT_.GetMonth(), bkRS.oleInDT_.GetDay());
strDatas_[8].Format(_T("%d"), bkRS.nInNumber_);
strDatas_[9].Format(_T("%d"), bkRS.nOutNumber_);
strDatas_[10] = bkRS.strDescription_;
InsertText(i++);
bkRS.MoveNext();
}
bkRS.Close();
break;
case QREADER:
i = 0;
if (rdRS.IsOpen())rdRS.Close();
if (!rdRS.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL))
{
if (!bRefresh_)//! 刷新显示时不弹出对话框
AfxMessageBox(IDS_OPENDBFAIL);
return ;
}
if(rdRS.GetRecordCount() == 0)
{
rdRS.Close();
if (!bRefresh_)//! 刷新显示时不弹出对话框
MessageBox(_T("查询结果为空!"), theApp.strSystemName);
return ;
}
while(!rdRS.IsEOF())
{
strDatas_[0] = rdRS.m_ReaderID;
strDatas_[1] = rdRS.m_ReaderName;
strDatas_[2] = rdRS.m_Sex;
strDatas_[3] = rdRS.m_Type;
strDatas_[4] = rdRS.m_Dept;
strDatas_[5] = rdRS.m_PhoneNO;
strDatas_[6] = rdRS.m_TelNO;
strDatas_[7] = rdRS.m_Email;
strDatas_[8].Format(_T("%d-%d-%d"), rdRS.m_RegDate.GetYear(),
rdRS.m_RegDate.GetMonth(), rdRS.m_RegDate.GetDay());
strDatas_[9].Format(_T("%f元"), rdRS.m_Punish);
strDatas_[10] = rdRS.m_Address;
strDatas_[11] = rdRS.m_Description;
InsertText(i++);
rdRS.MoveNext();
}
rdRS.Close();
break;
case QBORROW:
i = 0;
if (biRS.IsOpen())biRS.Close();
if (!biRS.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL))
{
if (!bRefresh_)//! 刷新显示时不弹出对话框
MessageBox(_T("数据库打开失败!"), theApp.strSystemName);
return ;
}
if(biRS.GetRecordCount() == 0)
{
biRS.Close();
if (!bRefresh_)//! 刷新显示时不弹出对话框
MessageBox(_T("查询结果为空!"), theApp.strSystemName);
return;
}
while(!biRS.IsEOF())
{
strDatas_[0] = biRS.strReaderID_;
strDatas_[1] = biRS.strBookID_;
strDatas_[2].Format(_T("%d-%d-%d"), biRS.oleBorrowDT_.GetYear(),
biRS.oleBorrowDT_.GetMonth(), biRS.oleBorrowDT_.GetDay());
if (!biRS.bReturned_)
strDatas_[3] = _T("");
else
strDatas_[3].Format(_T("%d-%d-%d"), biRS.oleReturnDT_.GetYear(),
biRS.oleReturnDT_.GetMonth(), biRS.oleReturnDT_.GetDay());
strDatas_[4] = biRS.bReturned_ ? _T("是") : _T("否");
strDatas_[5] = (biRS.bRenewed_ && biRS.bReturned_) ? _T("不可") : _T("可");
strDatas_[6] = biRS.strOperator_;
strDatas_[7].Format(_T("%d-%d-%d"), biRS.oleDeadLineDT_.GetYear(),
biRS.oleDeadLineDT_.GetMonth(), biRS.oleDeadLineDT_.GetDay());
InsertText(i++);
biRS.MoveNext();
}
biRS.Close();
break;
}
ctrlResultList.SetRedraw(TRUE);
}
void CQueryDlg::OnBnClickedModify()
{
// TODO: Add your control notification handler code here
int nYear = 0, nMonth = 0, nDay = 0;
CBookRegDlg bkRegDlg;
CReaderRegDlg rdRegDlg;
CBorrowManageDlg bmDlg;
INT_PTR ret;
bRefresh_ = FALSE;
if (!bSelected_)
{
MessageBox(_T("请选择一条记录!"), theApp.strSystemName);
return;
}
if (!theApp.IsManager() && !CanModify_)
{
MessageBox(_T("您没有修改权限!"), theApp.strSystemName);
return;
}
switch (qType_)
{
case QBOOK:
bkRegDlg.SetAdd(FALSE);
bkRegDlg.SetModify(TRUE);
bkRegDlg.SetSignOff(FALSE);
bkRegDlg.SetBookID(strDatas_[0]);
ret = bkRegDlg.DoModal();
break;
case QREADER:
rdRegDlg.SetAdd(FALSE);
rdRegDlg.SetModify(TRUE);
rdRegDlg.SetSignOff(FALSE);
rdRegDlg.SetReaderID(strDatas_[0]);
ret = rdRegDlg.DoModal();
break;
case QBORROW:
bmDlg.SetReaderID(strDatas_[0]);
bmDlg.SetBookID(strDatas_[1]);
bmDlg.SetBWType(RENEW);
bmDlg.SetOff(TRUE);
ret = bmDlg.DoModal();
break;
}
if (IDOK == ret)
{//刷新数据显示
bRefresh_ = TRUE;
GetDlgItem(IDC_MODIFY)->EnableWindow(FALSE);
OnBnClickedOk();
}
}
void CQueryDlg::OnBnClickedDelete()
{
// TODO: Add your control notification handler code here
CBookRegDlg bkRegDlg;
CReaderRegDlg rdRegDlg;
CBorrowManageDlg bmDlg;
INT_PTR ret;
if (!bSelected_)
{
MessageBox(_T("请选择一条记录!"), theApp.strSystemName);
return;
}
if (!theApp.IsManager() || !CanModify_)
{
MessageBox(_T("您没有删除权限!"), theApp.strSystemName);
return;
}
strRSName = _T("BorrowInfo");
CString strKey;
switch (qType_)
{
case QBOOK:
bkRegDlg.SetBookID(strDatas_[0]);
bkRegDlg.SetAdd(FALSE);
bkRegDlg.SetSignOff(TRUE);
ret = bkRegDlg.DoModal();
break;
case QREADER:
rdRegDlg.SetReaderID(strDatas_[0]);
rdRegDlg.SetAdd(FALSE);
rdRegDlg.SetSignOff(TRUE);
ret = rdRegDlg.DoModal();
break;
case QBORROW:
bmDlg.SetReaderID(strDatas_[0]);
bmDlg.SetBookID(strDatas_[1]);
bmDlg.SetBWType(RETURN);
ret = bmDlg.DoModal();
break;
}
if (IDOK == ret)
{//刷新数据显示
bRefresh_ = TRUE;
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
OnBnClickedOk();
}
}
void CQueryDlg::OnDblclkResultlist(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
POSITION pos;
// 从列表中获取选择选项的资料
int i = ctrlResultList.GetSelectedCount();
if (i <= 0)
{
bSelected_ = FALSE;
GetDlgItem(IDC_MODIFY)->EnableWindow(FALSE);
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
return ;
}
else
{
pos = ctrlResultList.GetFirstSelectedItemPosition();
i = ctrlResultList.GetNextSelectedItem(pos);
}
bSelected_ = TRUE;
for (UINT j=0; j<nCount_; ++j)
{
strDatas_[j] = ctrlResultList.GetItemText(i, j);
}
if (theApp.IsManager())
{
CanModify_ = TRUE;
if ((qType_ == QBORROW) && (strDatas_[4] != _T("否")))
{
GetDlgItem(IDC_MODIFY )->EnableWindow(FALSE);
GetDlgItem(IDC_DELETE)->EnableWindow(FALSE);
}
else
{
OnBnClickedModify();
}
}
else
{
if (qType_ == READER)
{
if (strDatas_[0].Left(4) == theApp.GetOperator())
{
CanModify_ = TRUE;
OnBnClickedModify();
}
}
}
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -