📄 bkdlg1.cpp
字号:
// BkDlg1.cpp : implementation file
//
#include "stdafx.h"
#include "图书管理系统.h"
#include "BkDlg1.h"
#include "图书管理系统Dlg.h"
#include "BkSearchDlg.h"
#include "BkDlg2.h"
#include "DlgHelp.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBkDlg1 dialog
extern CMyApp theApp;
CBkDlg1::CBkDlg1(CWnd* pParent /*=NULL*/)
: CDialog(CBkDlg1::IDD, pParent)
{
//{{AFX_DATA_INIT(CBkDlg1)
m_Edit1 = _T("");
//}}AFX_DATA_INIT
}
void CBkDlg1::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBkDlg1)
DDX_Control(pDX, IDC_MSGLIST, m_MsgList);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Control(pDX, IDC_SELET1, m_Selet1);
DDX_Text(pDX, IDC_EDIT1, m_Edit1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBkDlg1, CDialog)
//{{AFX_MSG_MAP(CBkDlg1)
ON_BN_CLICKED(IDC_BTN_BACK, OnBtnBack)
ON_BN_CLICKED(IDC_CANCLE, OnCancle)
ON_BN_CLICKED(IDC_SEARCH, OnSearch)
ON_WM_CTLCOLOR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBkDlg1 message handlers
BOOL CBkDlg1::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
///////////////////////////////////////////////////////////////////////////////////////////
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("SELECT * FROM DemoTable",theApp.m_pConnection.GetInterfacePtr(),
adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
///////////////////////////////////////////////////////////////////////////////////////////
m_Selet1.InsertString(0,"书名");
m_Selet1.InsertString(1,"作者名");
m_Selet1.InsertString(2,"书号");
m_Selet1.InsertString(3,"出版社");
m_Selet1.InsertString(4,"关键字");
m_Selet1.InsertString(5,"类别");
m_Selet1.SetCurSel(4);
/////////////////////////////////////////////////////////////////////////////////////
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBkDlg1::OnBtnBack()
{
// TODO: Add your control notification handler code here
CMyDlg dlg;
CBkDlg1 dlg1;
dlg1.OnClose();
dlg.DoModal();
}
void CBkDlg1::OnCancle()
{
// TODO: Add your control notification handler code here
CBkDlg1 dlg1;
dlg1.OnCancle();
}
void CBkDlg1::OnSearch()
{
// TODO: Add your control notification handler code here
UpdateData();
int m_selet,m_flag;
CString Answer;
if(m_Edit1=="" )
{
AfxMessageBox("没输入任何查询信息!");
return ;
}
m_selet=m_Selet1.GetCurSel();
if(m_selet==0)
{
Answer= BkNameSearch(m_Edit1,m_flag);
}
if(m_selet==1)
{
Answer= BkEditerSreach(m_Edit1,m_flag);
}
if(m_selet==2)
{
Answer= BkIDSearch(m_Edit1,m_flag);
}
if(m_selet==3)
{
Answer= BkAddressSearch(m_Edit1,m_flag);
}
if(m_selet==4)
{
Answer= BkWordSearch(m_Edit1,m_flag);
}
if(m_selet==5)
{
Answer= BkLeiSearch(m_Edit1,m_flag);
}
m_MsgList.UpdateWindow();
SetDlgItemText(IDC_MSGLIST,Answer);
}
CString CBkDlg1::BkNameSearch(CString m_BkName, int m_flag)
{
_variant_t var;
CString strBkName,strBkID,strAnswer,strBkFlag;
strBkName=strBkID=strAnswer=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
if(m_BkName==strBkName)
{
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="请输入正确署名(如:计算机应用)!";
}
return strAnswer;
}
CString CBkDlg1::BkIDSearch(CString m_BkID, int m_flag)
{
variant_t var;
CString strBkName,strBkID,strAnswer,strBkFlag;
strBkName=strBkID=strAnswer=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
if(m_BkID==strBkID)
{
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="请输入正确ID号(如:33020081234)!";
}
return strAnswer;
}
CString CBkDlg1::BkEditerSreach(CString m_BkEditer, int m_flag)
{
_variant_t var;
CString strBkName,strBkID,strAnswer,strBkEditer,strBkFlag;
strBkName=strBkID=strAnswer=strBkEditer=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkEditer");
if(var.vt != VT_NULL)
{
strBkEditer = (LPCSTR)_bstr_t(var);
if(strBkEditer==m_BkEditer)
{
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="请输入正确作者(如:张三)!";
}
return strAnswer;
}
CString CBkDlg1::BkAddressSearch(CString m_BkAddress, int m_flag)
{
_variant_t var;
CString strBkName,strBkID,strAnswer,strBkAddress,strBkFlag;
strBkName=strBkID=strAnswer=strBkAddress=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkAddress");
if(var.vt != VT_NULL)
{
strBkAddress = (LPCSTR)_bstr_t(var);
if(strBkAddress==m_BkAddress)
{
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="请输入正确地址(:如人民邮电出版社)!";
}
return strAnswer;
}
CString CBkDlg1::BkWordSearch(CString m_BkWord, int m_flag)
{
_variant_t var;
int i,j,flag=0;
unsigned char c1,c2;
CString strBkName,strBkID,strAnswer,strBkAddress,strBkEditer,strBkExmple,strBkFlag;
strBkName=strBkID=strAnswer=strBkAddress=strBkEditer=strBkExmple=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
int len=strBkName.GetLength();
int lengh=m_BkWord.GetLength();
flag=0;
for(i=0;i<len;i+=2)
{
c1=strBkName.GetAt(i);
for(j=0;j<lengh;j+=2)
{
c2=m_BkWord.GetAt(j);
if(c1==c2 && flag==0 )
{
flag=1;
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="您查找的内容不存在或换关键字!";
}
return strAnswer;
}
CString CBkDlg1::BkLeiSearch(CString m_BkLei, int m_flag)
{
_variant_t var;
CString strBkName,strBkID,strAnswer,strBkLei,strBkFlag;
strBkName=strBkID=strAnswer=strBkLei=strBkFlag="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("表内数据为空");
}
while(!m_pRecordset->adoEOF )
{
var = m_pRecordset->GetCollect("BkID");
if(var.vt != VT_NULL)
{
strBkID = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkName");
if(var.vt != VT_NULL)
{
strBkName = (LPCSTR)_bstr_t(var);
}
var = m_pRecordset->GetCollect("BkLei");
if(var.vt != VT_NULL)
{
strBkLei = (LPCSTR)_bstr_t(var);
if(strBkLei==m_BkLei)
{
var = m_pRecordset->GetCollect("BkFlag");
if(var.vt != VT_NULL)
{
strBkFlag = (LPCSTR)_bstr_t(var);
}
if(strBkFlag!="")
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 已借出"+strBkFlag;
else
strAnswer="ID号: "+strBkID+"\r\n"+"书名: "+strBkName+"\r\n"+strAnswer+"\r\n"
+"状态: 未借出";
}
}
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
if(strAnswer=="")
{
strAnswer="请输入正确类别(如:医学,计算机)!";
}
return strAnswer;
}
HBRUSH CBkDlg1::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if(nCtlColor==CTLCOLOR_LISTBOX)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_SCROLLBAR)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_EDIT)
{
//pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(233,233,220));
HBRUSH b=CreateSolidBrush(RGB(233,233,220));
return b;
}
else if(nCtlColor==CTLCOLOR_STATIC)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
else if(nCtlColor==CTLCOLOR_DLG)
{
pDC->SetTextColor(RGB(0,0,0));
pDC->SetBkColor(RGB(160,180,220));
HBRUSH b=CreateSolidBrush(RGB(160,180,220));
return b;
}
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -