📄 newdlg.cpp
字号:
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 + -