www.gusucode.com > VC+MSSQL物资管理系统源码程序 > VC+MSSQL物资管理系统源码程序\code\Code\AddBasicInfo.cpp

    //Download by http://www.NewXing.com
// AddBasicInfo.cpp : implementation file
//

#include "stdafx.h"
#include "Material_MIS.h"
#include "AddBasicInfo.h"
#include "Material_MISView.h"

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

/////////////////////////////////////////////////////////////////////////////
// AddBasicInfo dialog


AddBasicInfo::AddBasicInfo(CWnd* pParent /*=NULL*/)
	: CDialog(AddBasicInfo::IDD, pParent)
{
	//{{AFX_DATA_INIT(AddBasicInfo)
	m_wzID = _T("");
	m_wzKind = _T("");
	m_wzName = _T("");
	m_wzSpec = _T("");
	m_wzUnit = _T("");
	//}}AFX_DATA_INIT
}


void AddBasicInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(AddBasicInfo)
	DDX_Text(pDX, IDC_BASICINFO_WZID, m_wzID);
	DDX_Text(pDX, IDC_BASICINFO_WZKIND, m_wzKind);
	DDX_Text(pDX, IDC_BASICINFO_WZNAME, m_wzName);
	DDX_Text(pDX, IDC_BASICINFO_WZSPEC, m_wzSpec);
	DDX_Text(pDX, IDC_BASICINFO_WZUNIT, m_wzUnit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(AddBasicInfo, CDialog)
	//{{AFX_MSG_MAP(AddBasicInfo)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// AddBasicInfo message handlers

BOOL AddBasicInfo::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	((CEdit*)GetDlgItem(IDC_BASICINFO_WZID))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_BASICINFO_WZNAME))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_BASICINFO_WZSPEC))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_BASICINFO_WZKIND))->SetLimitText(50);
	((CEdit*)GetDlgItem(IDC_BASICINFO_WZUNIT))->SetLimitText(50);
	
	if (m_bAppend)
	{
		//更新对话框属性
		SetWindowText(_T("添加物资基本信息"));
	}
	else
	{
	    // 更新对话框属性
		SetWindowText(_T("修改物资基本信息"));
	}
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void AddBasicInfo::OnOK() 
{
	// TODO: Add extra validation here
	UpdateData(true);
	
	m_wzID.TrimRight(" ");
    m_wzName.TrimRight(" ");
	m_wzKind.TrimRight(" ");
	m_wzSpec.TrimRight(" ");
	m_wzUnit.TrimRight(" ");
	
	
	// 确定所有输入有效
	CString sWarning="";
	if ( ""==m_wzID ) sWarning=_T("物资编号");
    else if ( ""==m_wzName ) sWarning=_T("物资名称");
	else if ( ""==m_wzKind ) sWarning=_T("类别");
	else if ( ""==m_wzSpec ) sWarning=_T("规格型号");
	else if ( ""==m_wzUnit ) sWarning=_T("计量单位");
	    
	if ( ""!=sWarning ) 
	{
	   sWarning += _T("不能为空");
	   AfxMessageBox(sWarning, MB_ICONEXCLAMATION);
	   return;
	}	
	_variant_t strQuery;	
	if (m_bAppend)
	{
		// 判断物资唯一性
	    strQuery = "select * from material where wzid='"+m_wzID+"'";
	    theApp.ADOExecute(theApp.m_pADOSet, strQuery);
	    int iCount = theApp.m_pADOSet->GetRecordCount();
	    if ( 0!=iCount )
		{
	       AfxMessageBox(_T("已经存在此物资的记录!"), MB_ICONEXCLAMATION);
	       return;
		}
	}
			
	if (m_bAppend)
	{
	    strQuery = "insert material (wzid, wzname, wzspec, wzkind, wzunit) \
	         	    values ('"+m_wzID+"', '"+m_wzName+"','"+m_wzSpec+"','"+m_wzKind+"','"+m_wzUnit+"')";
	    if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) 
		{
			AfxMessageBox(_T("添加记录成功!"), MB_ICONINFORMATION);
	        
		// 清空输入数据
            m_wzID=m_wzName=m_wzSpec=m_wzKind=m_wzUnit="";
			UpdateData(false);
		}
	    else AfxMessageBox(_T("添加记录失败!"), MB_ICONEXCLAMATION);
	}
	else//修改记录
	{
		strQuery = "Update material set wzname='"+m_wzName+"', wzspec='"+m_wzSpec+"', wzunit='"+m_wzUnit+",\
			        where wzid='"+m_wzID+"'";
	    if ( theApp.ADOExecute(theApp.m_pADOSet, strQuery) ) 
			AfxMessageBox(_T("修改记录成功!"), MB_ICONINFORMATION);
	    else 
			AfxMessageBox(_T("修改记录失败!"), MB_ICONEXCLAMATION);
	}
	
	// Refresh RoomType List
	CMaterial_MISView* p = (CMaterial_MISView*)(((CMainFrame*)AfxGetMainWnd())->GetActiveView());
	p->RefreshMaterial();
	
	if (!m_bAppend) 
	CDialog::OnOK();
}