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

📄 productinfo.cpp

📁 完整功能的企业库存管理系统源码,vc++和sqlserver技术开发
💻 CPP
📖 第 1 页 / 共 2 页
字号:
				hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
					((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
				if(SUCCEEDED(hTRes))
				{
					TRACE(_T("连接成功!\n"));
					CString str;					
					m_pRecordset->PutCollect("productName",_variant_t(m_productName));//产品名称
					m_pRecordset->PutCollect("standard",_variant_t(m_standard));//规格
					m_pRecordset->PutCollect("model",_variant_t(m_model));//型号
					str.Format("%f",m_price); //单价
					m_pRecordset->PutCollect("price",_variant_t(str));
					str.Format("%d",m_qualityGuarantee);//保质期
					m_pRecordset->PutCollect("qualityGuarantee",_variant_t(str));
					str.Format("%d",m_maintance);//维护期
					m_pRecordset->PutCollect("maintance",_variant_t(str));
					m_pRecordset->PutCollect("unit",_variant_t(m_unit));//计量单位
					m_pRecordset->PutCollect("colorType",_variant_t(m_colorType));//颜色类别
					m_pRecordset->PutCollect("qualityLevel",_variant_t(m_qualityLevel));//质量等级
					str.Format("%d",m_finishRate);//成品率
					m_pRecordset->PutCollect("finishRate",_variant_t(str));					
					m_pRecordset->PutCollect("storeHouse",_variant_t(m_storeHouse));//存放仓库
					str.Format("%d",m_taxRate);//税率
					m_pRecordset->PutCollect("taxRate",_variant_t(str));
					str.Format("%d",m_numMax);//库存上限
					m_pRecordset->PutCollect("numMax",_variant_t(str));
					str.Format("%d",m_numMin);//库存下限
					m_pRecordset->PutCollect("numMin",_variant_t(str));
					m_pRecordset->PutCollect("remark",_variant_t(m_remark));//备注
			
					m_pRecordset->Update();//更新数据库	
					AfxMessageBox("修改成功!");//提示信息
				}
			}
		}
		catch(_com_error e)///捕捉异常
		{
			CString errormessage;
			MessageBox("创建记录集失败!","错误");
		}
	}
	Refresh();
	//设定按钮的可用性
	bt_add->EnableWindow(true);//添加按钮可用
	bt_delete->EnableWindow(true);//删除按钮可用
	bt_modify->EnableWindow(true);//修改按钮可用
	bt_save->EnableWindow(false);//保存按钮不可用
	//所有的编辑控件均不可用
	tx_productID->EnableWindow(false);
	tx_productName->EnableWindow(false);
	tx_standard->EnableWindow(false);
	tx_model->EnableWindow(false);
	tx_price->EnableWindow(false);
	tx_qualityGuarantee->EnableWindow(false);
	tx_maintance->EnableWindow(false);
	tx_unit->EnableWindow(false);
	tx_colorType->EnableWindow(false);
	tx_qualityLevel->EnableWindow(false);
	tx_finishRate->EnableWindow(false);
	tx_taxRate->EnableWindow(false);
	tx_storeHouse->EnableWindow(false);
	tx_remark->EnableWindow(false);
	tx_numMax->EnableWindow(false);
	tx_numMin->EnableWindow(false);

	UpdateData(false);//将数据更新到对话框	
}

BOOL CProductInfo::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);
	m_list.InsertColumn(15,"备注",LVCFMT_LEFT,100);

	_RecordsetPtr m_pListRecordset;    //用于创建一个查询记录集
	CString strSQL;
	HRESULT hTRes;
	//为存放仓库组合框添加可选项
	strSQL="select * from storeHouse"; //构造查询语句
	_RecordsetPtr m_pStoreHouseRecordset;
	hTRes = m_pStoreHouseRecordset.CreateInstance(_T("ADODB.Recordset"));
	if (SUCCEEDED(hTRes))
	{	
		hTRes = m_pStoreHouseRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
		((CStoreApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
				adOpenDynamic,adLockPessimistic,adCmdText);//打开查询结果记录集
		if(SUCCEEDED(hTRes))
		{
			TRACE(_T("连接成功!\n"));
			while(!(m_pStoreHouseRecordset->adoEOF))
			{		
				m_storeHouseCombo.AddString(((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pStoreHouseRecordset->GetCollect("storeHouseName")));//插入组合框
				m_pStoreHouseRecordset->MoveNext();//记录集指针向后移动
			}
		}
	}
	m_pStoreHouseRecordset->Close();  //关闭记录集
	//将目前数据库中已经存在的产品信息添加到产品列表框中
	strSQL="SELECT * FROM product";//构造查询语句
	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))
			{
				TRACE(_T("连接成功!\n"));
				if (!(m_pListRecordset->adoEOF))
				{
					int i=0;
					while(!(m_pListRecordset->adoEOF))
					{
						m_list.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("productID")));//产品编号
						m_list.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("productName")));	//产品名称			
						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("price"))); //单价
						m_list.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityGuarantee")));//保质期
						m_list.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("maintance"))); //维护期
						m_list.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("unit"))); //计量单位
						m_list.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("colorType")));	//颜色类别						
						m_list.SetItemText(i,9,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityLevel")));//质量等级
						m_list.SetItemText(i,10,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("finishRate")));//成品率
						m_list.SetItemText(i,11,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("storeHouse")));//存放仓库
						m_list.SetItemText(i,12,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("taxRate")));//税率
						m_list.SetItemText(i,13,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("numMax"))); //库存上限
						m_list.SetItemText(i,14,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("numMin"))); //库存下限
						m_list.SetItemText(i,15,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("remark"))); //备注
						if (!(m_pListRecordset->adoEOF))
						{								
							m_pListRecordset->MoveNext(); //记录集指针向后移动
							i++;
						}
					}		
				}
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}

	flag=0;
	//为对话框控件可用性控制变量赋值
	tx_productID=GetDlgItem(IDC_productID);
	tx_productName=GetDlgItem(IDC_productName);
	tx_standard=GetDlgItem(IDC_standard);
	tx_model=GetDlgItem(IDC_model);
	tx_price=GetDlgItem(IDC_price);
	tx_qualityGuarantee=GetDlgItem(IDC_qualityGuarantee);
	tx_maintance=GetDlgItem(IDC_maintance);
	tx_unit=GetDlgItem(IDC_unit);
	tx_colorType=GetDlgItem(IDC_colorType);
	tx_qualityLevel=GetDlgItem(IDC_qualityLevel);
	tx_finishRate=GetDlgItem(IDC_finishRate);
	tx_taxRate=GetDlgItem(IDC_taxRate);
	tx_storeHouse=GetDlgItem(IDC_storeHouse);
	tx_remark=GetDlgItem(IDC_remark);
	tx_numMax=GetDlgItem(IDC_numMax);
	tx_numMin=GetDlgItem(IDC_numMin);

	bt_delete=GetDlgItem(IDC_delete);
	bt_add=GetDlgItem(IDC_add);
	bt_save=GetDlgItem(IDC_save);
	bt_modify=GetDlgItem(IDC_modify);
	//设定按钮的可用性
	bt_save->EnableWindow(false);
	bt_modify->EnableWindow(false);
	bt_delete->EnableWindow(false);
	//初始情况下,所有的编辑框不可用
	tx_productID->EnableWindow(false);
	tx_productName->EnableWindow(false);
	tx_standard->EnableWindow(false);
	tx_model->EnableWindow(false);
	tx_price->EnableWindow(false);
	tx_qualityGuarantee->EnableWindow(false);
	tx_maintance->EnableWindow(false);
	tx_unit->EnableWindow(false);
	tx_colorType->EnableWindow(false);
	tx_qualityLevel->EnableWindow(false);
	tx_finishRate->EnableWindow(false);
	tx_taxRate->EnableWindow(false);
	tx_storeHouse->EnableWindow(false);
	tx_remark->EnableWindow(false);
	tx_numMax->EnableWindow(false);
	tx_numMin->EnableWindow(false);
	
	UpdateData(false); //更新对话框数据
	
	return TRUE;  
}

void CProductInfo::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData(true);
	POSITION pos = m_list.GetFirstSelectedItemPosition();//获取单击的位置
	if(pos)
	{
		int nFirstSelItem = m_list.GetNextSelectedItem(pos);//获取单击的条目
		m_productID=m_list.GetItemText(nFirstSelItem,0);//产品编号
		m_productName=m_list.GetItemText(nFirstSelItem,1);//产品名称
		m_standard=m_list.GetItemText(nFirstSelItem,2);//规格
		m_model=m_list.GetItemText(nFirstSelItem,3);//型号
		m_price=atof(m_list.GetItemText(nFirstSelItem,4));//单价
		m_qualityGuarantee=atoi(m_list.GetItemText(nFirstSelItem,5));//保质期
		m_maintance=atoi(m_list.GetItemText(nFirstSelItem,6));//维护期
		m_unit=m_list.GetItemText(nFirstSelItem,7);//计量单位
		m_colorType=m_list.GetItemText(nFirstSelItem,8);//颜色类别
		m_qualityLevel=m_list.GetItemText(nFirstSelItem,9);//质量等级
		m_finishRate=atoi(m_list.GetItemText(nFirstSelItem,10));//成品率
		m_storeHouse=m_list.GetItemText(nFirstSelItem,11);//存放仓库
		m_taxRate=atoi(m_list.GetItemText(nFirstSelItem,12));//税率
		m_numMax=atoi(m_list.GetItemText(nFirstSelItem,13));//库存上限
		m_numMin=atoi(m_list.GetItemText(nFirstSelItem,14));//库存下限
		m_remark=m_list.GetItemText(nFirstSelItem,13);//备注
	}
	bt_modify->EnableWindow(true); //修改按钮可用
	bt_delete->EnableWindow(true); //删除按钮可用
	UpdateData(false); //将数据更新到对话框
	
	*pResult = 0;
}


void CProductInfo::Refresh()
{
	_RecordsetPtr m_pListRecordset;    //用于创建一个查询记录集
	CString strSQL;
	HRESULT hTRes;
	m_list.DeleteAllItems();
	
	//将目前数据库中已经存在的产品信息添加到产品列表框中
	strSQL="SELECT * FROM product";//构造查询语句
	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))
			{
				TRACE(_T("连接成功!\n"));
				if (!(m_pListRecordset->adoEOF))
				{
					int i=0;
					while(!(m_pListRecordset->adoEOF))
					{
						m_list.InsertItem(i,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("productID")));//产品编号
						m_list.SetItemText(i,1,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("productName")));	//产品名称			
						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("price"))); //单价
						m_list.SetItemText(i,5,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityGuarantee")));//保质期
						m_list.SetItemText(i,6,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("maintance"))); //维护期
						m_list.SetItemText(i,7,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("unit"))); //计量单位
						m_list.SetItemText(i,8,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("colorType")));	//颜色类别						
						m_list.SetItemText(i,9,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("qualityLevel")));//质量等级
						m_list.SetItemText(i,10,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("finishRate")));//成品率
						m_list.SetItemText(i,11,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("storeHouse")));//存放仓库
						m_list.SetItemText(i,12,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("taxRate")));//税率
						m_list.SetItemText(i,13,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("numMax"))); //库存上限
						m_list.SetItemText(i,14,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("numMin"))); //库存下限
						m_list.SetItemText(i,15,((CStoreApp*)AfxGetApp())->GetStringFromVariant(m_pListRecordset->GetCollect("remark"))); //备注
						if (!(m_pListRecordset->adoEOF))
						{								
							m_pListRecordset->MoveNext(); //记录集指针向后移动
							i++;
						}
					}		
				}
			}
		}
	}
	catch(_com_error e)///捕捉异常
	{
		CString errormessage;
		MessageBox("创建记录集失败!","错误");
	}
}

⌨️ 快捷键说明

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