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

📄 storehouseinfor.cpp

📁 基于VC+SQL SERVER环境开发的企业商品销售系统.完整的数据库和原代码
💻 CPP
字号:
// StorehouseInfor.cpp : implementation file
//

#include "stdafx.h"
#include "Sale.h"
#include "StorehouseInfor.h"
#include "Affirm.h"

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

/////////////////////////////////////////////////////////////////////////////
// StorehouseInfor dialog


StorehouseInfor::StorehouseInfor(CWnd* pParent /*=NULL*/)
	: CDialog(StorehouseInfor::IDD, pParent)
{
	//{{AFX_DATA_INIT(StorehouseInfor)
	m_storeHouseID = _T("");
	m_storeHouseName = _T("");
	m_storeHousePosition = _T("");
	m_priceMethod = _T("");
	//}}AFX_DATA_INIT
}


void StorehouseInfor::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(StorehouseInfor)
	DDX_Control(pDX, IDC_LIST1, m_storeHouseList);
	DDX_Text(pDX, IDC_EDIT1, m_storeHouseID);
	DDX_Text(pDX, IDC_EDIT2, m_storeHouseName);
	DDX_Text(pDX, IDC_EDIT3, m_storeHousePosition);
	DDX_Text(pDX, IDC_EDIT4, m_priceMethod);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(StorehouseInfor, CDialog)
	//{{AFX_MSG_MAP(StorehouseInfor)
	ON_BN_CLICKED(IDC_BUTTON2, OnAdd)
	ON_BN_CLICKED(IDC_BUTTON3, OnDelete)
	ON_BN_CLICKED(IDC_BUTTON4, OnModify)
	ON_BN_CLICKED(IDC_BUTTON5, OnSave)
	ON_BN_CLICKED(IDC_BUTTON6, OnExit)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickStoreHouseList)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// StorehouseInfor message handlers

void StorehouseInfor::OnAdd() 
{
	UpdateData(true);
	int storeHouseID=((CSaleApp*)AfxGetApp())->m_pIDRecordset->GetCollect("storeHouseID").intVal;
	if(storeHouseID<10)
		m_storeHouseID.Format("storeHouse0000%d",storeHouseID);
	else if(storeHouseID<100&&storeHouseID>9)
		m_storeHouseID.Format("storeHouse000%d",storeHouseID);
	else if(storeHouseID<1000&&storeHouseID>99)
		m_storeHouseID.Format("storeHouse00%d",storeHouseID);

	CString str;
	str.Format("%d",storeHouseID+1);
	((CSaleApp*)AfxGetApp())->m_pIDRecordset->PutCollect("storeHouseID",_variant_t(str));
	((CSaleApp*)AfxGetApp())->m_pIDRecordset->Update();
//	m_storeHouseID="";
	m_storeHouseName="";
	m_storeHousePosition="";
	m_priceMethod="";
	tx_storeHouseID->EnableWindow(false);
	tx_storeHouseName->EnableWindow(true);
	tx_storeHousePosition->EnableWindow(true);
	tx_priceMethod->EnableWindow(true);
	flag=1;
	bt_save->EnableWindow(true);
	bt_add->EnableWindow(false);
	bt_modify->EnableWindow(false);
	bt_delete->EnableWindow(false);
		
	UpdateData(false);
	
}

void StorehouseInfor::OnDelete() 
{
	CAffirm dlg;
	if(dlg.DoModal()!=IDOK)
	{
		return;
	}
	_variant_t RecordsAffected;
	CString strSQL;
	strSQL="delete from storeHouse where storeHouseID='";
	strSQL=strSQL+m_storeHouseID+"'";
	(((CSaleApp*)AfxGetApp())->m_pConn)->Execute((_bstr_t)strSQL,&RecordsAffected,adCmdText);
	
	POSITION pos = m_storeHouseList.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_storeHouseList.GetNextSelectedItem(pos);
		m_storeHouseList.DeleteItem(nFirstSelItem);
	}
	bt_delete->EnableWindow(false);
	m_storeHouseID="";
	m_storeHouseName="";
	m_storeHousePosition="";
	m_priceMethod="";
	UpdateData(false);
}

void StorehouseInfor::OnModify() 
{
	tx_storeHouseName->EnableWindow(true);
	tx_storeHousePosition->EnableWindow(true);
	tx_priceMethod->EnableWindow(true);
	tx_storeHouseID->EnableWindow(false);
	flag=2;
	bt_save->EnableWindow(true);
	
}

void StorehouseInfor::OnSave() 
{
	UpdateData(true);
	_RecordsetPtr m_pRecordset;    //用于创建一个查询记录集


	//----------------------------------------------
	CString strSQL;
	//	AfxMessageBox(TreeCurrent);
	if(flag==1)         //添加
	{
		strSQL="SELECT * FROM storeHouse" ;	

		try
		{
			HRESULT hTRes;
			hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
			if (SUCCEEDED(hTRes))
			{
				//----------------------------------------------------
				hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
					((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
				if(SUCCEEDED(hTRes))
				{
					TRACE(_T("连接成功!\n"));
					//------------------------------------------
					m_pRecordset->AddNew();
					m_pRecordset->PutCollect("storeHouseID",_variant_t(m_storeHouseID));
					m_pRecordset->PutCollect("storeHouseName",_variant_t(m_storeHouseName));
					m_pRecordset->PutCollect("storeHousePosition",_variant_t(m_storeHousePosition));
					m_pRecordset->PutCollect("priceMethod",_variant_t(m_priceMethod));
					m_pRecordset->Update();
					int j;
					j=m_storeHouseList.GetItemCount();
					m_storeHouseList.InsertItem(j,m_storeHouseID);
					m_storeHouseList.SetItemText(j,1,m_storeHouseName);
					m_storeHouseList.SetItemText(j,2,m_storeHousePosition);
					AfxMessageBox("插入成功!");
				}
			}
		}
		catch(_com_error e)///捕捉异常
		{
			CString errormessage;
			MessageBox("创建记录集失败!","错误");
		}
	}
	else if(flag==2)      //修改
	{
		strSQL="SELECT * FROM storeHouse where storeHouseID='" ;
		strSQL=strSQL+m_storeHouseID+"'";
		
		try
		{
			HRESULT hTRes;
			hTRes = m_pRecordset.CreateInstance(_T("ADODB.Recordset"));
			if (SUCCEEDED(hTRes))
			{
				//----------------------------------------------------
				hTRes = m_pRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
					((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
				if(SUCCEEDED(hTRes))
				{
					TRACE(_T("连接成功!\n"));
					AfxMessageBox("连接成功!\n");
					//------------------------------------------
			//		m_pRecordset->AddNew();
			//		m_pRecordset->PutCollect("transportTypeID",_variant_t(m_transportTypeID));
					m_pRecordset->PutCollect("storeHouseName",_variant_t(m_storeHouseName));
					m_pRecordset->PutCollect("storeHousePosition",_variant_t(m_storeHousePosition));
					m_pRecordset->PutCollect("priceMethod",_variant_t(m_priceMethod));
					m_pRecordset->Update();
					POSITION pos = m_storeHouseList.GetFirstSelectedItemPosition();
					if(pos)
					{
						int nFirstSelItem = m_storeHouseList.GetNextSelectedItem(pos);
						m_storeHouseList.SetItemText(nFirstSelItem,1,m_storeHouseName);
						m_storeHouseList.SetItemText(nFirstSelItem,2,m_storeHousePosition);
						m_storeHouseList.SetItemText(nFirstSelItem,3,m_priceMethod);
					}
					
					AfxMessageBox("修改成功!");
				}
			}
		}
		catch(_com_error e)///捕捉异常
		{
			CString errormessage;
			MessageBox("创建记录集失败!","错误");
		}
	}
	bt_add->EnableWindow(true);
	bt_delete->EnableWindow(true);
	bt_modify->EnableWindow(true);
	bt_save->EnableWindow(true);
	tx_storeHouseID->EnableWindow(false);
	tx_storeHouseName->EnableWindow(false);
	tx_storeHousePosition->EnableWindow(false);
	tx_priceMethod->EnableWindow(false);
	UpdateData(false);//	
}

void StorehouseInfor::OnExit() 
{
	this->OnCancel();
}

void StorehouseInfor::OnClickStoreHouseList(NMHDR* pNMHDR, LRESULT* pResult) 
{
	UpdateData(true);
	POSITION pos = m_storeHouseList.GetFirstSelectedItemPosition();
	if(pos)
	{
		int nFirstSelItem = m_storeHouseList.GetNextSelectedItem(pos);
		m_storeHouseID=m_storeHouseList.GetItemText(nFirstSelItem,0);
		m_storeHouseName=m_storeHouseList.GetItemText(nFirstSelItem,1);
		m_storeHousePosition=m_storeHouseList.GetItemText(nFirstSelItem,2);
		m_priceMethod=m_storeHouseList.GetItemText(nFirstSelItem,3);
	}
	//AfxMessageBox(str);
	
	bt_modify->EnableWindow(true);
	bt_delete->EnableWindow(true);
	UpdateData(false);
	
	*pResult = 0;
}

BOOL StorehouseInfor::OnInitDialog() 
{
	CDialog::OnInitDialog();

	DWORD style;
	style=m_storeHouseList.GetExStyle();
	style=(style|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT)&(~LVS_EX_CHECKBOXES) ;
	m_storeHouseList.SetExtendedStyle(style);

	m_storeHouseList.InsertColumn(0,"仓库编码",LVCFMT_LEFT,100);
	m_storeHouseList.InsertColumn(1,"仓库名称",LVCFMT_LEFT,100);
	m_storeHouseList.InsertColumn(2,"仓库地址",LVCFMT_LEFT,100);
	m_storeHouseList.InsertColumn(3,"计价法",LVCFMT_LEFT,100);

	_RecordsetPtr m_pTreeRecordset;    //用于创建一个查询记录集
	CString strSQL;
	//-----------------------------------------------
	strSQL="SELECT * FROM storeHouse";
		try
		{
			HRESULT hTRes;
			hTRes = m_pTreeRecordset.CreateInstance(_T("ADODB.Recordset"));
			if (SUCCEEDED(hTRes))
			{
				//----------------------------------------------------
				hTRes = m_pTreeRecordset->Open((LPTSTR)strSQL.GetBuffer(130),
					((CSaleApp*)AfxGetApp())->m_pConn.GetInterfacePtr(),
					adOpenDynamic,adLockPessimistic,adCmdText);
				if(SUCCEEDED(hTRes))
				{
					TRACE(_T("连接成功!\n"));
					//------------------------------------------
					m_pTreeRecordset->MoveFirst();
					if (!(m_pTreeRecordset->adoEOF))
					{
						int i=0;
						while(!m_pTreeRecordset->adoEOF)
						{
							//_variant_t vIndex=(long)0;
							m_storeHouseList.InsertItem(i,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pTreeRecordset->GetCollect("storeHouseID")));
							m_storeHouseList.SetItemText(i,1,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pTreeRecordset->GetCollect("storeHouseName")));				
							m_storeHouseList.SetItemText(i,2,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pTreeRecordset->GetCollect("storeHousePosition")));
							m_storeHouseList.SetItemText(i,3,((CSaleApp*)AfxGetApp())->GetStringFromVariant(m_pTreeRecordset->GetCollect("priceMethod")));
							if (!(m_pTreeRecordset->adoEOF))
							{
								m_pTreeRecordset->MoveNext();
								i++;
							}
						}		
					}
					//---------------------------------------
				}
			}
		}
		catch(_com_error e)///捕捉异常
		{
			CString errormessage;
			MessageBox("创建仓库记录集失败!","错误");
		}
//	}
	flag=0;
	
	tx_storeHouseName=GetDlgItem(IDC_EDIT2);
	tx_storeHouseID=GetDlgItem(IDC_EDIT1);
	tx_storeHousePosition=GetDlgItem(IDC_EDIT3);
	tx_priceMethod=GetDlgItem(IDC_EDIT4);
	bt_add=GetDlgItem(IDC_BUTTON2);
	bt_save=GetDlgItem(IDC_BUTTON5);
	bt_modify=GetDlgItem(IDC_BUTTON4);
	bt_delete=GetDlgItem(IDC_BUTTON3);
	bt_save->EnableWindow(false);
	bt_modify->EnableWindow(false);
	bt_delete->EnableWindow(false);
	tx_storeHouseName->EnableWindow(false);
	tx_storeHouseID->EnableWindow(false);
	tx_storeHousePosition->EnableWindow(false);
	tx_priceMethod->EnableWindow(false);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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