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

📄 trade_misview.cpp

📁 几个VC的小程序!其中包括仓库管理
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		// Get CompanyName
		Holder = theApp.m_pADOSet->GetCollect("CompanyName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.InsertItem(i, str);
	    // Get ContactName
        Holder = theApp.m_pADOSet->GetCollect("ContactName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 1, str);
		// Get Address
        Holder = theApp.m_pADOSet->GetCollect("Address");
	   	str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 2, str);
		// Get City
        Holder = theApp.m_pADOSet->GetCollect("City");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 3, str);
		// Get Region
        Holder = theApp.m_pADOSet->GetCollect("Region");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 4, str);
		// Get PostalCode
       	Holder = theApp.m_pADOSet->GetCollect("PostalCode");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 5, str);
        // Get Phone
        Holder = theApp.m_pADOSet->GetCollect("Phone");
		str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	  	m_ListCtrl.SetItemText(i, 6, str);
		// Get Fax
       	Holder = theApp.m_pADOSet->GetCollect("Fax");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	  	m_ListCtrl.SetItemText(i, 7, str);
        // Get HomePage
        Holder = theApp.m_pADOSet->GetCollect("HomePage");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
        m_ListCtrl.SetItemText(i, 8, str);
		// Get Memo
        Holder = theApp.m_pADOSet->GetCollect("CustomerMemo");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
        m_ListCtrl.SetItemText(i, 9, str);

		theApp.m_pADOSet->MoveNext();
	}
}

void CTrade_MISView::OnAlterCustomer() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery;
	
	strQuery = "select * from customers";
	if ( m_ListCtrl && m_sCurrentList!=_T("顾客信息列表") )
	{
		m_ListCtrl.DestroyWindow();
	    
		CreateCustomer(strQuery);
	    
		m_sCurrentList = _T("顾客信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateCustomer(strQuery);
	    
		m_sCurrentList = _T("顾客信息列表");
    	m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    //Popup Alter Dialog
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
    else
	{
	   CCustomerDLG dlg;
       dlg.m_bAppend = false;
	   
	   CString str;
	   int iItem = m_ListCtrl.GetNextSelectedItem(pos);
       // Get CompanyName
	   dlg.m_sCompany = m_ListCtrl.GetItemText(iItem, 0);
	   // Get ContactName
       dlg.m_sPerson = m_ListCtrl.GetItemText(iItem, 1);
	   // Get Address
       dlg.m_sAddress = m_ListCtrl.GetItemText(iItem, 2);
	   // Get City
       dlg.m_sCity = m_ListCtrl.GetItemText(iItem, 3);
	   // Get Region
       dlg.m_sArea = m_ListCtrl.GetItemText(iItem, 4);
	   // Get PostalCode
       dlg.m_sPostCode = m_ListCtrl.GetItemText(iItem, 5);
       // Get Phone
       dlg.m_sPhone = m_ListCtrl.GetItemText(iItem, 6);
	   // Get Fax
       dlg.m_sFax = m_ListCtrl.GetItemText(iItem, 7);
	   // Get HomePage
       dlg.m_sHomePage = m_ListCtrl.GetItemText(iItem, 8);
	   // Get Memo
       dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 9);
	   
	   dlg.DoModal();
	}
}

void CTrade_MISView::OnDelCustomer() 
{
	// TODO: Add your command handler code here
	_variant_t Holder, strQuery;

	strQuery = "select * from customers";
	if ( m_ListCtrl && m_sCurrentList!="顾客信息列表" )	
	{
		m_ListCtrl.DestroyWindow();
	    CreateCustomer( strQuery );
	    m_sCurrentList = _T("顾客信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateCustomer(strQuery);
	    m_sCurrentList = _T("顾客信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
	
	// Del Records
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if ( pos == NULL ) 
	{
		AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
		return;
	}
    else
	{
		int iItem;       
		CString sCompany;
		while (pos)
		{
            iItem = m_ListCtrl.GetNextSelectedItem(pos);
            sCompany = m_ListCtrl.GetItemText(iItem, 0);
		    strQuery = "delete from customers where CompanyName='"+sCompany+"'";
	        theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		}
	}
    
	// Refresh List
	strQuery = "select * from customers";
	RefreshCustomer( strQuery );
}

void CTrade_MISView::OnSearchCustomer() 
{
	// TODO: Add your command handler code here
	// Check if thers is any record
	_variant_t strQuery, Holder;	
	strQuery = "select DISTINCT City from customers";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
    if (0==iCount)
	{
		AfxMessageBox(_T("数据库没有记录,无法查询!"), MB_ICONEXCLAMATION);
		return;
	}
	
	// Popup Dialog
	CSearchCustomerDLG dlg;
	dlg.DoModal();
}

void CTrade_MISView::OnAddProduct() 
{
	// TODO: Add your command handler code here
	CProductDLG dlg;
	dlg.m_bAppend = true;
	dlg.DoModal();
}

void CTrade_MISView::RefreshProduct(_variant_t strQuery)
{
	if (m_ListCtrl)	m_ListCtrl.DestroyWindow();
	
 	CreateProduct( strQuery );

	m_sCurrentList = _T("商品信息列表");
    m_StaticCtrl.SetWindowText(m_sCurrentList);
}

void CTrade_MISView::CreateProduct(_variant_t strQuery)
{
	// Get Client Rect
	CRect rect;
	GetClientRect(rect);
	rect.top += 30;

	// Create
	m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);

	// Set Color
	m_ListCtrl.SetBkColor(RGB(177, 151, 240));
	m_ListCtrl.SetTextColor(RGB(0,0,0));
	m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));
	
	// Set EX-Style
	m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);

	// Create Header
	m_ListCtrl.InsertColumn(0,_T("商品名称"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(1,_T("商品规格"), LVCFMT_LEFT, 100);
    m_ListCtrl.InsertColumn(2,_T("计量单位"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(3,_T("备注信息"), LVCFMT_LEFT, 100);
	
	// Get all records
	_variant_t Holder;
    theApp.ADOExecute(theApp.m_pADOSet, strQuery);
    int iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) return;
	
    CString str;
	COleDateTime time;
	theApp.m_pADOSet->MoveFirst();
	for(int i=0; i<iCount; i++)
	{
		// Get ProductName
		Holder = theApp.m_pADOSet->GetCollect("ProductName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.InsertItem(i, str);
	    // Get Spec
        Holder = theApp.m_pADOSet->GetCollect("Spec");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 1, str);
		// Get Unit
        Holder = theApp.m_pADOSet->GetCollect("Unit");
	   	str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 2, str);
		// Get Productmemo
        Holder = theApp.m_pADOSet->GetCollect("Productmemo");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 3, str);
	
		theApp.m_pADOSet->MoveNext();
	}
}

void CTrade_MISView::OnuAlterProduct() 
{
	// TODO: Add your command handler code here
	_variant_t strQuery;
	
	strQuery = "select * from products";
	if ( m_ListCtrl && m_sCurrentList!=_T("商品信息列表") )
	{
		m_ListCtrl.DestroyWindow();
	    
		CreateProduct(strQuery);
	    
		m_sCurrentList = _T("商品信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateProduct(strQuery);
	    
		m_sCurrentList = _T("商品信息列表");
    	m_StaticCtrl.SetWindowText(m_sCurrentList);
		
		return;
	}
    //Popup Alter Dialog
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if (pos == NULL) AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
    else
	{
	   CProductDLG dlg;
       dlg.m_bAppend = false;
	   
	   CString str;
	   int iItem = m_ListCtrl.GetNextSelectedItem(pos);
       // Get Name
	   dlg.m_sName = m_ListCtrl.GetItemText(iItem, 0);
	   // Get Spec
       dlg.m_sSpec = m_ListCtrl.GetItemText(iItem, 1);
	   // Get Unit
       dlg.m_sUnit = m_ListCtrl.GetItemText(iItem, 2);
	   // Get Memo
       dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 3);
	   	   
	   dlg.DoModal();
	}
}


void CTrade_MISView::OnDelProduct() 
{
	// TODO: Add your command handler code here
	_variant_t Holder, strQuery;

	strQuery = "select * from products";
	if ( m_ListCtrl && m_sCurrentList!="商品信息列表" )	
	{
		m_ListCtrl.DestroyWindow();
	    CreateProduct( strQuery );
	    m_sCurrentList = _T("商品信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
    if ( !m_ListCtrl )
	{
		CreateProduct(strQuery);
	    m_sCurrentList = _T("商品信息列表");
        m_StaticCtrl.SetWindowText(m_sCurrentList);
		return;
	}
	
	// Del Records
	POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();
    if ( pos == NULL ) 
	{
		AfxMessageBox(_T("没有选中的记录!"), MB_ICONEXCLAMATION);
		return;
	}
    else
	{
		int iItem;       
		CString sName;
		while (pos)
		{
            iItem = m_ListCtrl.GetNextSelectedItem(pos);
            sName = m_ListCtrl.GetItemText(iItem, 0);
		    strQuery = "delete from products where ProductName='"+sName+"'";
	        theApp.ADOExecute(theApp.m_pADOSet, strQuery);
		}
	}
    
	// Refresh List
	strQuery = "select * from products";
	RefreshProduct( strQuery );
}
void CTrade_MISView::OnAddStock() 
{
	// TODO: Add your command handler code here
	
	// Check Provider 
	_variant_t strQuery;	
	strQuery = "select * from suppliers";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	int iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) 
	{
		AfxMessageBox(_T("请先设置供应商信息!"), MB_ICONEXCLAMATION);
		return;
	}

	// Check Product 
	strQuery = "select * from products";
	theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) 
	{
		AfxMessageBox(_T("请先设置商品信息!"), MB_ICONEXCLAMATION);
		return;
	}
    
	CStockDLG dlg;
	dlg.m_bAppend = true;
	dlg.DoModal();
}

void CTrade_MISView::RefreshStock(_variant_t strQuery)
{
	if (m_ListCtrl)	m_ListCtrl.DestroyWindow();
	
 	CreateStock( strQuery );

	m_sCurrentList = _T("进货信息列表");
    m_StaticCtrl.SetWindowText(m_sCurrentList);
}

void CTrade_MISView::CreateStock(_variant_t strQuery)
{
	// Get Client Rect
	CRect rect;
	GetClientRect(rect);
	rect.top += 30;

	// Create
	m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);

	// Set Color
	m_ListCtrl.SetBkColor(RGB(177, 151, 240));
	m_ListCtrl.SetTextColor(RGB(0,0,0));
	m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));
	
	// Set EX-Style
	m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);

	// Create Header
	m_ListCtrl.InsertColumn(0,_T("进货商公司名称"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(1,_T("商品名称"), LVCFMT_LEFT, 100);
    m_ListCtrl.InsertColumn(2,_T("商品规格"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(3,_T("计量单位"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(4,_T("数量"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(5,_T("单价"), LVCFMT_LEFT, 100);
    m_ListCtrl.InsertColumn(6,_T("进货日期"), LVCFMT_LEFT, 100);
	m_ListCtrl.InsertColumn(7,_T("备注"), LVCFMT_LEFT, 100);
	
	// Get all records
	_variant_t Holder;
    theApp.ADOExecute(theApp.m_pADOSet, strQuery);
    int iCount = theApp.m_pADOSet->GetRecordCount();
	if ( 0==iCount ) return;
	
    CString str;
	COleDateTime time;
	theApp.m_pADOSet->MoveFirst();
	for(int i=0; i<iCount; i++)
	{
		// Get ProviderCompanyName
		Holder = theApp.m_pADOSet->GetCollect("ProviderName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.InsertItem(i, str);
	    // Get ProductName
        Holder = theApp.m_pADOSet->GetCollect("ProductName");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 1, str);
		// Get Spec
        Holder = theApp.m_pADOSet->GetCollect("Spec");
	   	str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 2, str);
		// Get Unit
        Holder = theApp.m_pADOSet->GetCollect("Unit");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 3, str);
		// Get Quantity
        Holder = theApp.m_pADOSet->GetCollect("Quantity");
	    str = Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder;
	    m_ListCtrl.SetItemText(i, 4, str);
		// Get UnitPrice
       	Holder = theApp.m_pADOSet->GetCollect("UnitPrice");
	    if ( VT_NULL==Holder.vt ) str="N/A";
		else str.Format("%.2f", Holder.dblVal);
        m_ListCtrl.SetItemText(i, 5, str);
		// Get OrderDate

⌨️ 快捷键说明

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