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

📄 stockinfor.cpp

📁 书店销售管理系统 用c++写的
💻 CPP
字号:
// Stockinfor.cpp : implementation file
//

#include "stdafx.h"
#include "resource.h"
#include "Stockinfor.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CStockinfor dialog


CStockinfor::CStockinfor(CWnd* pParent /*=NULL*/)
	: CDialog(CStockinfor::IDD, pParent)
{
	//{{AFX_DATA_INIT(CStockinfor)
	m_StockEdit = _T("");
	m_StockCom = 0;
	//}}AFX_DATA_INIT
}


void CStockinfor::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CStockinfor)
	DDX_Control(pDX, IDC_STOCKLIST, m_StockList);
	DDX_Text(pDX, IDC_STOCKEDIT, m_StockEdit);
	DDX_CBIndex(pDX, IDC_STOCKCOM, m_StockCom);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CStockinfor, CDialog)
	//{{AFX_MSG_MAP(CStockinfor)
	ON_BN_CLICKED(IDC_STOCKBT, OnStockbt)
	ON_CBN_DROPDOWN(IDC_STOCKCOM, OnDropdownStockcom)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CStockinfor message handlers
BOOL CStockinfor::OnInitDialog()
{
	CDialog::OnInitDialog();

	///初始化列表框
	m_StockList.SetTextColor(RGB (0, 0, 0));
	m_StockList.SetBkColor(RGB(255,255,255));
	m_StockList.SetExtendedStyle(LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);	

	m_StockList.InsertColumn(0,_T("ISBN"),LVCFMT_CENTER,100);
	m_StockList.InsertColumn(1,_T("书名"),LVCFMT_CENTER,200);
	m_StockList.InsertColumn(2,_T("数量"),LVCFMT_CENTER,80);
	m_StockList.InsertColumn(3,_T("备注"),LVCFMT_CENTER,200);
	
	OnRefreshData();
	return TRUE;
}

void CStockinfor::OnRefreshData()
{
	m_StockList.DeleteAllItems();
	_variant_t vt;
	try
	{
		SHOP::_RecordsetPtr pRst = pConn->Execute("select * from STOCK",&vt,SHOP::adCmdText);
		while(!pRst->End)
		{
			_variant_t vISBN = pRst->Fields->GetItem("ISBN")->Value; 
			_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value;
			_variant_t vNUM = pRst->Fields->GetItem(long(2))->Value;
			
			CString isbn = vISBN.bstrVal;
			CString name = vNAME.bstrVal;
			int		num  = vNUM.iVal;

			CString strnum;
			strnum.Format("%d",num);

			m_StockList.InsertItem(0,isbn);
			m_StockList.SetItemText(0,1,name);
			m_StockList.SetItemText(0,2,strnum);
			
			pRst->MoveNext();
		}
		pRst->Close();
		pRst.Release();
	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.Description());
	}
}

void CStockinfor::OnStockbt() 
{
	m_StockList.DeleteAllItems();
	SHOP::_RecordsetPtr pRst;
	this->UpdateData(true);

	SHOP::_CommandPtr cmd(__uuidof(SHOP::Command));
	CString com;
	_bstr_t condition;
	condition = "%"+m_StockEdit+"%";
	
	try
	{
		if(m_StockCom == 0)
		{
			cmd->CommandText = "select * from STOCK where ISBN like ?"; 
			cmd->CommandType = SHOP::adCmdText;
			cmd->ActiveConnection = pConn;
			SHOP::_ParameterPtr pParam = cmd->CreateParameter("ISBN",SHOP::adBSTR,SHOP::adParamInput,0); 
			cmd->Parameters->Append(pParam);
			cmd->Parameters->GetItem("ISBN")->Value = condition;
			pRst = cmd->Execute(0,0,SHOP::adCmdText);
		}
		if(m_StockCom == 1)
		{
			cmd->CommandText = "select * from STOCK where NAME like ?"; 
			cmd->CommandType = SHOP::adCmdText;
			cmd->ActiveConnection = pConn;
			SHOP::_ParameterPtr pParam = cmd->CreateParameter("NAME",SHOP::adBSTR,SHOP::adParamInput,0); 
			cmd->Parameters->Append(pParam);
			cmd->Parameters->GetItem("NAME")->Value = condition;
			pRst = cmd->Execute(0,0,SHOP::adCmdText);
		}

		while(!pRst->End)
		{
			_variant_t vISBN = pRst->Fields->GetItem("ISBN")->Value;
			_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value; 
			_variant_t vNUM = pRst->Fields->GetItem(long(2))->Value;
			
			CString m_isbn = vISBN.bstrVal;
			CString m_name = vNAME.bstrVal;
			int		m_num  = vNUM.iVal;

			CString num;
			num.Format("%d",m_num);
			
			m_StockList.InsertItem(0,m_isbn);
			m_StockList.SetItemText(0,1,m_name);
			m_StockList.SetItemText(0,2,num);
			
			pRst->MoveNext();
		}

		pRst->Close();
		pRst.Release();

	}
	catch(_com_error& e)
	{
		AfxMessageBox(e.Description());
	}		
}

void CStockinfor::OnDropdownStockcom() 
{
	m_StockEdit.Empty();
	this->UpdateData(false);
}

⌨️ 快捷键说明

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