www.gusucode.com > VC+MSSQL物资管理系统源码程序 > VC+MSSQL物资管理系统源码程序\code\Code\Search.cpp
//Download by http://www.NewXing.com // Search.cpp : implementation file // #include "stdafx.h" #include "Material_MIS.h" #include "Search.h" #include "Material_MISView.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CSearch dialog CSearch::CSearch(CWnd* pParent /*=NULL*/) : CDialog(CSearch::IDD, pParent) { //{{AFX_DATA_INIT(CSearch) m_sFromMonth = _T(""); m_sFromYear = _T(""); m_sName = _T(""); m_sSpec = _T(""); m_sToMonth = _T(""); m_sToYear = _T(""); m_sSpecchecked = FALSE; m_sNamechecked = FALSE; m_sTimechecked = FALSE; m_sTime = _T(""); //}}AFX_DATA_INIT } void CSearch::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CSearch) DDX_CBString(pDX, IDC_SEARCH_FROMMONTH, m_sFromMonth); DDX_CBString(pDX, IDC_SEARCH_FROMYEAR, m_sFromYear); DDX_Text(pDX, IDC_SEARCH_NAME, m_sName); DDX_Text(pDX, IDC_SEARCH_SPEC, m_sSpec); DDX_CBString(pDX, IDC_SEARCH_TOMONTH, m_sToMonth); DDX_CBString(pDX, IDC_SEARCH_TOYEAR, m_sToYear); DDX_Check(pDX, IDC_CHECK_SPEC, m_sSpecchecked); DDX_Check(pDX, IDC_CHECK_NAME, m_sNamechecked); DDX_Check(pDX, IDC_CHECK_TIME, m_sTimechecked); DDX_Text(pDX, IDC_STATIC_TIME, m_sTime); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CSearch, CDialog) //{{AFX_MSG_MAP(CSearch) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CSearch message handlers void CSearch::OnOK() { // TODO: Add extra validation here UpdateData(true); if ( !m_sNamechecked && !m_sSpecchecked && !m_sTimechecked) { AfxMessageBox(_T("请选择查询条件!"), MB_ICONEXCLAMATION); return; } m_sName.TrimRight(" "); m_sSpec.TrimRight(" "); m_sFromYear.TrimRight(" "); m_sFromMonth.TrimRight(" "); m_sToYear.TrimRight(" "); m_sToMonth.TrimRight(" "); if ( m_sNamechecked ) { if ( ""==m_sName ) { AfxMessageBox(_T("物资名称不能为空!"), MB_ICONEXCLAMATION); return; } } else m_sName="%"; if ( m_sSpecchecked ) { if ( ""==m_sSpec ) { AfxMessageBox(_T("物资型号不能为空!"), MB_ICONEXCLAMATION); return; } } else m_sSpec="%"; int m_fToMonth=int(atof(m_sToMonth)); if(m_sTimechecked) { if(1==m_fToMonth || 3==m_fToMonth ||5==m_fToMonth ||7==m_fToMonth ||\ 8==m_fToMonth ||10==m_fToMonth ||12==m_fToMonth) { m_From=m_sFromYear+"-"+m_sFromMonth+"-1"; m_To=m_sToYear+"-"+m_sToMonth+"-31"; } else if(2==m_fToMonth) { m_From=m_sFromYear+"-"+m_sFromMonth+"-1"; m_To=m_sToYear+"-"+m_sToMonth+"-28"; } else { m_From=m_sFromYear+"-"+m_sFromMonth+"-1"; m_To=m_sToYear+"-"+m_sToMonth+"-30"; } } else { m_From="2002-1-1"; m_To="2100-1-1"; } _variant_t strQuery; if(m_sType) { strQuery = "select * from msave where rkname like '"+m_sName+"' and rkspec like '"+m_sSpec+\ "' and rkdate between '"+m_From+"' and '"+m_To+"'"; CMaterial_MISView* p = (CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); p->RefreshIn(strQuery); } else { strQuery = "select * from muse where lyname like '"+m_sName+"' and lyspec like '"+m_sSpec+\ "' and lydate between '"+m_From+"' and '"+m_To+"'"; CMaterial_MISView* p = (CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView()); p->RefreshOut(strQuery); } CDialog::OnOK(); } BOOL CSearch::OnInitDialog() { CDialog::OnInitDialog(); ((CEdit*)GetDlgItem(IDC_SEARCH_NAME))->SetLimitText(50); ((CEdit*)GetDlgItem(IDC_SEARCH_SPEC))->SetLimitText(50); // TODO: Add extra initialization here _variant_t strQuery, Holder; //物资入库查询 if (m_sType) { // 初始化下拉列表 SetWindowText(_T("物资入库查询")); m_sTime=(_T("入库时间:")); strQuery = "select distinct datepart(yy,rkdate) from msave"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); theApp.m_pADOSet->MoveFirst(); for (int i=0; i<iCount; i++) { Holder=theApp.m_pADOSet->GetFields()->GetItem(long(0))->GetValue(); ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder); //((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->InsertString(i, m_sFromMonth); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->SetCurSel(0); ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMMONTH))->SetCurSel(0); theApp.m_pADOSet->MoveFirst(); for ( i=0; i<iCount; i++) { Holder=theApp.m_pADOSet->GetFields()->GetItem(long(0))->GetValue(); ((CComboBox*)GetDlgItem(IDC_SEARCH_TOYEAR))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDC_SEARCH_TOYEAR))->SetCurSel(0); ((CComboBox*)GetDlgItem(IDC_SEARCH_TOMONTH))->SetCurSel(0); } //物资出库查询 else { // 初始化下拉列表 SetWindowText(_T("物资领用查询")); m_sTime=(_T("领用时间:")); strQuery = "select distinct datepart(yy,lydate) from muse"; theApp.ADOExecute(theApp.m_pADOSet, strQuery); int iCount = theApp.m_pADOSet->GetRecordCount(); theApp.m_pADOSet->MoveFirst(); for (int i=0; i<iCount; i++) { Holder=theApp.m_pADOSet->GetFields()->GetItem(long(0))->GetValue(); ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder); //((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->InsertString(i, m_sFromMonth); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMYEAR))->SetCurSel(0); ((CComboBox*)GetDlgItem(IDC_SEARCH_FROMMONTH))->SetCurSel(0); theApp.m_pADOSet->MoveFirst(); for ( i=0; i<iCount; i++) { Holder=theApp.m_pADOSet->GetFields()->GetItem(long(0))->GetValue(); ((CComboBox*)GetDlgItem(IDC_SEARCH_TOYEAR))->InsertString(i, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Holder); theApp.m_pADOSet->MoveNext(); } ((CComboBox*)GetDlgItem(IDC_SEARCH_TOYEAR))->SetCurSel(0); ((CComboBox*)GetDlgItem(IDC_SEARCH_TOMONTH))->SetCurSel(0); } UpdateData(false); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }