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

📄 selectmaterial.cpp

📁 完整功能的企业库存管理系统源码,vc++和sqlserver技术开发
💻 CPP
字号:
// SelectMaterial.cpp : implementation file
//

#include "stdafx.h"
#include "Store.h"
#include "SelectMaterial.h"

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

/////////////////////////////////////////////////////////////////////////////
// CSelectMaterial dialog


CSelectMaterial::CSelectMaterial(CWnd* pParent /*=NULL*/)
	: CDialog(CSelectMaterial::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSelectMaterial)
	m_num = 0;
	m_materialID="";
	m_materialName="";
	m_unit="";
	m_model="";
	m_price=0;
	//}}AFX_DATA_INIT
}


void CSelectMaterial::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSelectMaterial)
	DDX_Control(pDX, IDC_LIST1, m_list);
	DDX_Text(pDX, IDC_num, m_num);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSelectMaterial, CDialog)
	//{{AFX_MSG_MAP(CSelectMaterial)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSelectMaterial message handlers

BOOL CSelectMaterial::OnInitDialog() 
{
	CDialog::OnInitDialog();
	//设定列表框空间的样式,整行选择、网格线
	DWORD style;
	style=m_list.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_list.SetExtendedStyle(style);
	//为列表框控件添加列并设定列标题
	m_list.InsertColumn(0,"物料编码",LVCFMT_LEFT,100);
	m_list.InsertColumn(1,"物料名称",LVCFMT_LEFT,100);
	m_list.InsertColumn(2,"规格",LVCFMT_LEFT,100);
	m_list.InsertColumn(3,"型号",LVCFMT_LEFT,100);
	m_list.InsertColumn(4,"计量单位",LVCFMT_LEFT,100);
	m_list.InsertColumn(5,"保质期",LVCFMT_LEFT,100);
	m_list.InsertColumn(6,"颜色类别",LVCFMT_LEFT,100);
	m_list.InsertColumn(7,"质量等级",LVCFMT_LEFT,100);
	m_list.InsertColumn(8,"税率",LVCFMT_LEFT,100);
	m_list.InsertColumn(9,"损耗率",LVCFMT_LEFT,100);
	m_list.InsertColumn(10,"存放仓库",LVCFMT_LEFT,100);
	m_list.InsertColumn(11,"供应商",LVCFMT_LEFT,100);
	m_list.InsertColumn(12,"计划价",LVCFMT_LEFT,100);
	m_list.InsertColumn(13,"参考成本价",LVCFMT_LEFT,100);
	m_list.InsertColumn(14,"备注",LVCFMT_LEFT,100);
	_RecordsetPtr m_pListRecordset;    //用于创建一个查询记录集
	CString strSQL;
	strSQL="SELECT * FROM material";//查询物料表中的数据的sql语句
	try
	{
		HRESULT hTRes;
		hTRes = m_pListRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pListRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
				((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				int i=0;
				//将查询结果插入列表框控件中
				while(!m_pListRecordset->adoEOF)
				{
					m_list.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("materialID")));//物料编号
					m_list.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("materialName")));	//物料名称			
					m_list.SetItemText(i,2,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("standard")));//规格
					m_list.SetItemText(i,3,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("model"))); //型号
					m_list.SetItemText(i,4,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("unit"))); //计量单位
					m_list.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityGuarantee")));//保质期
					m_list.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("colorType")));//颜色类别
					m_list.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityLevel")));//质量等级
					m_list.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("taxRate")));//税率
					m_list.SetItemText(i,9,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("loseRate")));//损耗率
					m_list.SetItemText(i,10,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("storeHouse")));//存放仓库
					m_list.SetItemText(i,11,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("provider")));//供应商
					m_list.SetItemText(i,12,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("planPrice")));//计划价
					m_list.SetItemText(i,13,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("standardPrice")));//参考成本价
					m_list.SetItemText(i,14,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("remark")));//备注
					if (!(m_pListRecordset->adoEOF))
					{								
						m_pListRecordset->MoveNext(); //记录集指针向后移动
						i++;
					}
				}			
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}	
	return TRUE;  
}

void CSelectMaterial::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData(true);
	POSITION pos = m_list.GetFirstSelectedItemPosition();//获取单击位置
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);//获取选中的条目
		m_materialID=m_list.GetItemText(nFirstSelItem,0);//物料编号
		m_materialName=m_list.GetItemText(nFirstSelItem,1);//物料名称
		m_unit=m_list.GetItemText(nFirstSelItem,4);//计量单位
		m_model=m_list.GetItemText(nFirstSelItem,3);//型号
	//	m_price=atof(m_list.GetItemText(nFirstSelItem,12));//单价
		_RecordsetPtr m_pListRecordset;    //用于创建一个查询记录集
		CString strSQL;
		strSQL="SELECT * FROM material where materialID='"+m_materialID+"'";//查询物料表中的数据的sql语句

	
		HRESULT hTRes;
		hTRes = m_pListRecordset.CreateInstance(_T("ADODB.Recordset"));
		if (SUCCEEDED(hTRes))
		{
			hTRes = m_pListRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
				((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
			if(SUCCEEDED(hTRes))
			{
				int i=0;
				//将查询结果插入列表框控件中
				if(!m_pListRecordset->adoEOF)
				{
					CString str=((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("planPrice"));//计划价
					m_price=atoi(str);
					str.Format("%f",m_price);
		//			AfxMessageBox(str);
				}
			}
		}
	}
	*pResult = 0;
}

⌨️ 快捷键说明

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