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

📄 bkdlg1.cpp

📁 自己 写的 玩下 还有 很多 功能要 大家一起 开发
💻 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 + -