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

📄 newdlg.cpp

📁 RFID 的实用例子,登陆使用了标准动态库类
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	  pParamProductTypeName->Direction=adParamOutput;//表明是输入参数
	  OperDb.pCommand->Parameters->Append(pParamProductTypeName);

	  //DateTimeSale

	  pParamDateTimeSale.CreateInstance("ADODB.Parameter");
	  pParamDateTimeSale->Name="DateTimeSale";	//存储过程的参数1
	  pParamDateTimeSale->Type=adChar;	//
	  pParamDateTimeSale->Size=50;			//
	  pParamDateTimeSale->Direction=adParamOutput;//表明是输入参数
	  OperDb.pCommand->Parameters->Append(pParamDateTimeSale);

	  //Result

	  
	  pParamResult.CreateInstance("ADODB.Parameter");
	  pParamResult->Name="Result";	//存储过程的参数1
	  pParamResult->Type=adChar;	//
	  pParamResult->Size=1;			//
	  pParamResult->Direction=adParamOutput;//表明是输入参数
	  OperDb.pCommand->Parameters->Append(pParamResult);




	  
	  OperDb.pCommand->ActiveConnection = OperDb.pConn;
	  OperDb.pCommand->CommandText="sp_GetProductInfoByProductCode";	//存储过程的名字
	  OperDb.pCommand->CommandType=adCmdStoredProc;//表示为存储过程adCmdStoredProc
       //执行,获得结果
      OperDb.pCommand->Execute(NULL, NULL, adCmdStoredProc);
       //将值返回

	  m_ProductInfo.IsResult = atoi((char *)_bstr_t(pParamResult->Value));
	  if (m_ProductInfo.IsResult)
	  {
	     m_ProductInfo.curDateTime = (char *)_bstr_t(pParamDateTimeSale->Value);
	     m_ProductInfo.strProductClassName = (char *)_bstr_t(pParamProductClassName->Value);
	     m_ProductInfo.strProductName = (char *)_bstr_t(pParamProductName->Value);
	     m_ProductInfo.strProductTypeName = (char *)_bstr_t(pParamProductTypeName->Value);
	  }
	  else
	  {
		 m_ProductInfo.curDateTime = _T("");
		 m_ProductInfo.strProductClassName =_T(""); 
		 m_ProductInfo.strProductName =_T("");
		 m_ProductInfo.strProductTypeName =_T("");
			 

	  }

	  
	   while(OperDb.pCommand->Parameters->GetCount()!=0)
		{
			_variant_t id = (long)0;
		     OperDb.pCommand->Parameters->Delete(id); 
		}




}





CString CNewDlg::GetPlanRepairDate()
{
	//取得计划内完成天数
	CString strBuf;
	strBuf = _T("");
	int nPlanRepairDays ;
	try
	{
		
		strBuf.Format("SELECT * FROM tb_RepairConfig");

		_bstr_t CommText;
		CommText = strBuf;
		_variant_t vRecordsAffected;
		OperDb.pRecordset = OperDb.pConn->Execute(CommText, &vRecordsAffected, adCmdText);
		if(vRecordsAffected.lVal== 0 )	return strBuf;

		_variant_t vtGet = OperDb.pRecordset->GetCollect("PlanRepairDays");
		if(vtGet.vt != NULL) 
		{
			strBuf.Format("%s", OperDb.CrackStrVariant(vtGet));
			nPlanRepairDays = atoi(strBuf);
		}
		
	}
	catch(_com_error  &e)
	{
		_bstr_t  bstrSource(e.Source());  
		_bstr_t  bstrDescription(e.Description());  
//		AfxMessageBox(e.Description());
		return strBuf;
	}
	catch(...)
	{
		return strBuf;
	}	


	CTime cTime = CTime::GetCurrentTime();
	CTimeSpan ts( nPlanRepairDays, 0, 0, 0 );
	cTime = cTime +ts;

		
	//strBuf.Format("%04d-%02d-%02d %2d:%2d:%2d", cTime.GetYear(), cTime.GetMonth(), cTime.GetDay(),cTime.GetHour(),cTime.GetMinute(),cTime.GetSecond());
	strBuf.Format("%04d-%02d-%02d ", cTime.GetYear(), cTime.GetMonth(), cTime.GetDay());
	return strBuf;



}



void CNewDlg::OnKillfocusEditProductcode() 
{
	// TODO: Add your control notification handler code here
	UpdateData(true);
/*
	CString strTmpProductTypeName ;

	GetProductInfo(m_strProductCode);
	int aaa= m_ProductInfo.strProductTypeCode.GetLength();

	if (m_ProductInfo.IsResult)
	{
//		m_ComboxProductType.EnableWindow(FALSE);

		m_strProductName = m_ProductInfo.strProductName;
	    m_strSaleTime  = m_ProductInfo.curDateTime;	
		strTmpProductTypeName = m_ProductInfo.strProductTypeName;
		strTmpProductTypeName.TrimRight();

		//取得产品型号代码
		m_strProductTypeCode = GetProductTypeCode(strTmpProductTypeName);


		UpdateData(FALSE);
		             
	}
	else
	{
		m_ComboxProductType.EnableWindow(TRUE);
		m_ComboxProductType.SetCurSel(-1);

	}



	int nCounts = m_ComboxProductType.GetCount();
    CString strProductTypeName = _T("");
    for (int i =0;i<nCounts;i++)
	{
		m_ComboxProductType.GetLBText(i,strProductTypeName);
		if (strTmpProductTypeName.Compare(strProductTypeName)==0)
		{
			m_ComboxProductType.SetCurSel(i);
			OnSelchangeComboProducttype() ;
			break;
		}

	}
	if (i > nCounts)
		m_ComboxProductType.SetCurSel(-1);

	UpdateData(false);
*/
}


void CNewDlg::OnButtonSelectcustomer() 
{
	pSel.strStatic = "客户名";
	pSel.strColumnName = "CustomerName";
    pSel.strTable = "tb_Customer";
	pSel.strColumn[0] = "CustomerCode";
	pSel.strColumn[1] = "CustomerName";
	pSel.strColumn[2] = "CustomerAddress";
	pSel.strColumn[3] = "CustomerLinkMan";
	pSel.strColumn[4] = "CustomerTelephone";
	pSel.strHeadName[0] = "代码";
	pSel.strHeadName[1] = "名称";
	pSel.strHeadName[2] = "地址";
	pSel.strHeadName[3] = "联系人";
	pSel.strHeadName[4] = "电话";
	pSel.nItem = 5;
	pSel.strCondition=_T("");
	pSel.nRetNo1 = 0;
	pSel.nRetNo2 = 1;
	CSelectItem pDlg;
	if(pDlg.DoModal()==IDOK)
	{
		m_strCustomer = pSel.strReturn1;
		SetDlgItemText(ID_EDIT_CUSTOMER, pSel.strReturn);

		
	GetCustomerInfo(pSel.strReturn);
	SetDlgItemText(IDC_EDIT_LINKMAN,m_CustomerInfo.m_strCustomerLinkMan);
	SetDlgItemText(IDC_EDIT_ADDRESS, m_CustomerInfo.m_strCustomerAddress);
	SetDlgItemText(IDC_EDIT_TEL, m_CustomerInfo.m_strCustomerTelephone);





	}			
}



void CNewDlg::InitMClass()
{

		try
	{
		CString strBuf;
		strBuf.Format("SELECT * FROM tb_ProductClass ");

		_bstr_t CommText;
		CommText = strBuf;
		_variant_t vRecordsAffected;
		OperDb.pRecordset = OperDb.pConn->Execute(CommText, &vRecordsAffected, adCmdText);
		if(vRecordsAffected.lVal == VT_NULL) return;

		OperDb.pRecordset->MoveFirst();
		CComboBox *p=(CComboBox*)GetDlgItem(IDC_COMBO_MCLASS);
		p->ResetContent();
		do
		{
			_variant_t vtGet = OperDb.pRecordset->GetCollect("ProductClassName");
			if(vtGet.vt != NULL)
			{
				strBuf.Format("%s", OperDb.CrackStrVariant(vtGet));
				p->AddString(strBuf);
			}
			OperDb.pRecordset->MoveNext();
		}while(!(OperDb.pRecordset->EndOfFile));
	}
	catch(_com_error  &e)
	{
		_bstr_t  bstrSource(e.Source());  
		_bstr_t  bstrDescription(e.Description());  
		AfxMessageBox(e.Description());
		return;
	}
	catch(...)
	{
		return;
	}
}

void CNewDlg::OnKillfocusComboMclass() 
{
	// TODO: Add your control notification handler code here
		// TODO: Add your control notification handler code here
	CString strOldMClass = m_strMClass;
	UpdateData(true);
	if(strOldMClass == m_strMClass) return;

	UpdateCbxMName(m_CbxMName, m_CbxMType, m_strMClass);
	
}

void CNewDlg::UpdateCbxMName(CComboBox &CbxMName, CComboBox &CbxMType, CString strMClass)
{
		CbxMName.ResetContent();
	CbxMType.ResetContent();

	if(strMClass == _T("")) return;
//	ChangeMName();
	try
	{
		CString strBuf;
		strBuf.Format("SELECT DISTINCT name FROM view_ProductType WHERE CLASS = '%s'", strMClass);

		_bstr_t CommText;
		CommText = strBuf;
		_variant_t vRecordsAffected;
		OperDb.pRecordset = OperDb.pConn->Execute(CommText, &vRecordsAffected, adCmdText);
		if(vRecordsAffected.lVal==VT_NULL)	return;

		OperDb.pRecordset->MoveFirst();
		do
		{
			_variant_t vtGet = OperDb.pRecordset->GetCollect("name");
			if(vtGet.vt != NULL)
			{
				strBuf.Format("%s", OperDb.CrackStrVariant(vtGet));
				CbxMName.AddString(strBuf);
			}
			OperDb.pRecordset->MoveNext();
		}while(!(OperDb.pRecordset->EndOfFile));
	}
	catch(_com_error  &e)
	{
		_bstr_t  bstrSource(e.Source());  
		_bstr_t  bstrDescription(e.Description());  
//		AfxMessageBox(e.Description());
		return;
	}
	catch(...)
	{
		return;
	}


}

void CNewDlg::OnKillfocusComboMname() 
{
	// TODO: Add your control notification handler code here
	CString strOldName = m_strMName;
	UpdateData(true);
	if(strOldName == m_strMName) return;

	m_strMType = _T("");
	UpdateData(false);
	UpdateCbxMType(m_CbxMType, m_strMName, m_strMClass);
	
}

void CNewDlg::UpdateCbxMType(CComboBox &CbxMType, CString strMName, CString strMClass)
{

		CbxMType.ResetContent();

	if(strMName == _T("")) return;
//	ChangeMName();
	try
	{
		CString strBuf;
		strBuf.Format("SELECT DISTINCT type FROM view_ProductType WHERE name = '%s' AND class = '%s'", strMName, strMClass);

		_bstr_t CommText;
		CommText = strBuf;
		_variant_t vRecordsAffected;
		OperDb.pRecordset = OperDb.pConn->Execute(CommText, &vRecordsAffected, adCmdText);
		if(vRecordsAffected.lVal==VT_NULL)	return;

		OperDb.pRecordset->MoveFirst();
		do
		{
			_variant_t vtGet = OperDb.pRecordset->GetCollect("type");
			if(vtGet.vt != NULL)
			{
				strBuf.Format("%s", OperDb.CrackStrVariant(vtGet));
				CbxMType.AddString(strBuf);
			}
			OperDb.pRecordset->MoveNext();
		}while(!(OperDb.pRecordset->EndOfFile));
	}
	catch(_com_error  &e)
	{
		_bstr_t  bstrSource(e.Source());  
		_bstr_t  bstrDescription(e.Description());  
//		AfxMessageBox(e.Description());
		return;
	}
	catch(...)
	{
		return;
	}	

}

void CNewDlg::ClearInput()
{
	m_strProductCode = _T("");
    m_strMClass = _T("") ;
	m_strMName = _T("");
	m_strMType = _T("");
	m_strMemo = _T("");
	
	UpdateData(FALSE);

	SetDlgItemText(ID_EDIT_CUSTOMER, "");
	SetDlgItemText(IDC_EDIT_LINKMAN,"");
	SetDlgItemText(IDC_EDIT_ADDRESS, "");
	SetDlgItemText(IDC_EDIT_TEL, "");
	SetDlgItemText(IDC_EDIT_DESCRIPTIONS, "");
	





}

⌨️ 快捷键说明

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