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

📄 baseinfo.cpp

📁 主要用在管理系统,一个工程维护管理用vc++ 8.0 accesss数据库
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// BaseInfo.cpp : 实现文件
//

#include "stdafx.h"
#include "ProjectManage.h"
#include "BaseInfo.h"
#include "empselect.h"
#include "user.h"

// CBaseInfo 对话框

IMPLEMENT_DYNAMIC(CBaseInfo, CDialog)

CBaseInfo::CBaseInfo(CWnd* pParent /*=NULL*/)
	: CDialog(CBaseInfo::IDD, pParent)
{

}

CBaseInfo::~CBaseInfo()
{
}

void CBaseInfo::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Control(pDX, IDC_COMBO2, pComb);
	DDX_Control(pDX, IDC_COMBO3, mComb);
	DDX_CBIndex(pDX, IDC_COMBO2, m_nDropListIndex);
	DDX_Control(pDX,IDC_COMBO5,RegionComb);
	DDX_Control(pDX,IDC_COMBO4,AreaComb);
	DDX_CBIndex(pDX, IDC_COMBO5, m_RegionIndex);
	DDX_CBIndex(pDX,IDC_COMBO4,m_EndIndex);
	//DDX_Control(pDX, IDC_STATIC, m_wndPlaceholder);
}


BEGIN_MESSAGE_MAP(CBaseInfo, CDialog)
	ON_BN_CLICKED(IDC_BUTTON4, &CBaseInfo::OnBnClickedButton4)
	ON_BN_CLICKED(IDC_BUTTON1, &CBaseInfo::OnBntAddBasicInfo)
	ON_CBN_SELCHANGE(IDC_COMBO2, &CBaseInfo::OnCbnSelchangeCombo2)
	ON_CBN_SELCHANGE(IDC_COMBO5, &CBaseInfo::OnCbnSelchangeCombo5)
	ON_CBN_SELCHANGE(IDC_COMBO4, &CBaseInfo::OnCbnSelchangeCombo4)
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_BUTTON5, &CBaseInfo::OnBntModity)
	ON_BN_CLICKED(IDC_BUTTON2, &CBaseInfo::OnBntDelete)
	ON_BN_CLICKED(IDC_BUTTON6, &CBaseInfo::OnBntExport)
END_MESSAGE_MAP()


// CBaseInfo 消息处理程序

void CBaseInfo::OnBnClickedButton4()
{
	// TODO: 在此添加控件通知处理程序代码
	CString NameList;
	CEmpSelect frm;
	int j=0;
	if(frm.DoModal()==IDOK)
	{
		for(int i=0;i<frm.m_NameList.GetCount();i++)
		{
		    /*NameList=frm.m_NameList[i];
            NameList+=",";*/

		}
		POSITION p=frm.m_NameList.GetHeadPosition();   
		while(p)
		{
			NameList+=frm.m_NameList.GetNext(p);
			if(j<frm.m_NameList.GetCount()-1)
			{
			    NameList+=",";
			}
			j++;
		}
		CEdit* cEdit=(CEdit*)this->GetDlgItem(IDC_EDIT3);
		cEdit->SetWindowTextA(NameList);
	 }
	
}

void CBaseInfo::OnBntAddBasicInfo()
{
	// TODO: 在此添加控件通知处理程序代码
	CString sql;
	int pID;
	CProjectManageApp* app=(CProjectManageApp*)AfxGetApp();
	CProjectManageView* pView=app->GetMyView();

    CString CustName,OmtName,RegionName,AreaID,ProviceID,SalesDate,cDataTime,SalesPerson,ServiceReson,ServiceConcent,ServiceResult,ServiceDesc;
    
	CComboBox* pCustbox=(CComboBox*) this->GetDlgItem(IDC_COMBO1);
	pCustbox->GetWindowTextA(CustName);

	CEdit* txtOmeName=(CEdit*) this->GetDlgItem(IDC_EDIT1);
	txtOmeName->GetWindowTextA(OmtName);
    
	CComboBox* pRegBox=(CComboBox*) this->GetDlgItem(IDC_COMBO3);
	pRegBox->GetWindowTextA(RegionName);

	CComboBox* pAreaBox=(CComboBox*) this->GetDlgItem(IDC_COMBO5);
	pAreaBox->GetWindowTextA(AreaID);

	CComboBox* pProviceBox=(CComboBox*) this->GetDlgItem(IDC_COMBO2);
	pProviceBox->GetWindowTextA(ProviceID);

	CEdit* txtSalesDate=(CEdit*) this->GetDlgItem(IDC_DATETIMEPICKER1);
	txtSalesDate->GetWindowTextA(SalesDate);

	CEdit* txtDataTime=(CEdit*) this->GetDlgItem(IDC_DATETIMEPICKER2);
    txtDataTime->GetWindowTextA(cDataTime);

	CEdit* txtSalesPerson=(CEdit*) this->GetDlgItem(IDC_EDIT3);
	txtSalesPerson->GetWindowTextA(SalesPerson);

	CEdit* txtServiceReson=(CEdit*) this->GetDlgItem(IDC_EDIT4);
	txtServiceReson->GetWindowTextA(ServiceReson);

	CEdit* txtServiceConcent=(CEdit*) this->GetDlgItem(IDC_EDIT5);
	txtServiceConcent->GetWindowTextA(ServiceConcent);

	CEdit* txtServiceResult=(CEdit*) this->GetDlgItem(IDC_EDIT6);
	txtServiceResult->GetWindowTextA(ServiceResult);

	CEdit* txtServiceDesc=(CEdit*) this->GetDlgItem(IDC_EDIT7);
	txtSalesPerson->GetWindowTextA(ServiceDesc);

   
    pID=GenNewID();

	sql="insert into ProjectTab(mod_id,UserName,ProjectName,[DateTime],CDataTime,EmpTabID,ServiceReason,ServiceContent,ServiceResult,[desc])values("+RegionName+",'"+CustName+"','"+OmtName+"','"+SalesDate+"','"+cDataTime+"','"+SalesPerson+"','"+ServiceReson+"','"+ServiceConcent+"','"+ServiceResult+"','"+ServiceDesc+"')";

	if(RegionName=="")
	{
	     MessageBox("区域不能为空!");
		 return;
	}
	if(OmtName=="")
	{
	     MessageBox("站点不能为空!");
		 return;
	}
	try
	{
		if(this->m_Storage.ExecSql(sql))
		{
			CString sPid;
			theApp.ProjID=sPid;
			theApp.ProjName=OmtName;
			MessageBox("添加成功!");
			pView->LoadListViewData();
		}
		else
		{
			MessageBox("添加失败!");
		}
	}
	catch(_com_error e)
	{
	     CString errormessage;
		 MessageBox("添加记录出错!");
	}

}
void CBaseInfo::AddEmp(int pid,int empcount)
{
	char buffer[20];
    CString sql;
	CString sEmpcount,sPid;

	sEmpcount.Format("%d",empcount);
    sEmpcount=_itoa(empcount,buffer,10);
	sPid=_itoa(pid,buffer,10);
	sql="insert into ManPowerCost(EmpNumber,pid)values("+sEmpcount+","+sPid+")";
	this->m_Storage.ExecSql(sql);	
	
}
BOOL CBaseInfo::OnInitDialog()
{
	CDialog::OnInitDialog();


	// TODO:  在此添加额外的初始化
	CComboBox* tComb=(CComboBox*)this->GetDlgItem(IDC_COMBO1);
	tComb->AddString("中国移动");
	tComb->AddString("中国联通");
	tComb->AddString("北方网通");
	tComb->AddString("南方电信");
	tComb->SetCurSel(0);
    Porivace *pv;
	CString sql,Name,curID;
	_RecordsetPtr m_pTRecordset; 
	int n_Index=0;
    sql="select mod_id,mod_name from RegionTree where mod_parent=0";
	try
	{
		m_pTRecordset.CreateInstance("ADODB.Recordset");
		m_pTRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pDBCon->GetActiveConnection(),true),adOpenDynamic,adLockOptimistic,adCmdText);

		m_pTRecordset->MoveFirst();
		if(!m_pTRecordset->adoEOF)
		{
			while(!m_pTRecordset->adoEOF)
			{
      			Name = VariantToCString(m_pTRecordset->GetCollect("mod_name"));
				pComb.AddString(Name);	
 
				curID= VariantToCString(m_pTRecordset->GetCollect("mod_id"));	
                pv=new Porivace();
				pv->PorivaceName=Name;
				pv->PorivaceID=curID;
				pComb.SetItemDataPtr(n_Index,pv);
				mComb.AddString(curID);
                
				n_Index++;

				if (!m_pTRecordset->adoEOF)
					m_pTRecordset->MoveNext();
			}
		}
		m_pTRecordset->Close();
	}
	catch(_com_error e)
	{
		 CString errormessage;
		 MessageBox("读取类别子树出错!");
	}
    

	return TRUE;  // return TRUE unless you set the focus to a control
	// 异常: OCX 属性页应返回 FALSE
}

CString CBaseInfo::VariantToCString(VARIANT var)
{
	CString strValue;
	_variant_t var_t;
	_bstr_t bst_t;
	time_t cur_time;
	CTime time_value;
	COleCurrency var_currency;
	switch(var.vt)
	{
	case VT_EMPTY:strValue=_T("");break;
	case VT_UI1:strValue.Format ("%d",var.bVal);break;
	case VT_I2:strValue.Format ("%d",var.iVal );break;
	case VT_I4:strValue.Format ("%d",var.lVal);break;
	case VT_R4:strValue.Format ("%f",var.fltVal);break;
	case VT_R8:strValue.Format ("%f",var.dblVal);break;
	case VT_CY:
		var_currency=var;
		strValue=var_currency.Format(0);
		break;
	case VT_BSTR:
		var_t=var;
		bst_t=var_t;
		strValue.Format ("%s",(const char*)bst_t);
		break;
	case VT_NULL:strValue=_T("");break;
	case VT_DATE:
		cur_time=var.date;
		time_value=cur_time;
		strValue=time_value.Format("%A,%B%d,%Y");
		break;
	case VT_BOOL:strValue.Format ("%d",var.boolVal );break;
	default:strValue=_T("");break;
	}
	return strValue;
}

void CBaseInfo::OnCbnSelchangeCombo2()
{
	UpdateData();
	// TODO: 在此添加控件通知处理程序代码
    CString sql,Name,curID;
	_RecordsetPtr m_pTRecordset; 
    RegionComb.ResetContent();
	AreaComb.ResetContent();
	if( m_nDropListIndex < 0 ) return;
	pComb.GetLBText(m_nDropListIndex,Name);
    sql="select mod_id,mod_name from RegionTree where mod_name='"+Name+"'";
	try
	{
		m_pTRecordset.CreateInstance("ADODB.Recordset");
		m_pTRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)theApp.m_pDBCon->GetActiveConnection(),true),adOpenDynamic,adLockOptimistic,adCmdText);
        
		m_pTRecordset->MoveFirst();
		Porivace* pv;
		if(!m_pTRecordset->adoEOF)
		{
			while(!m_pTRecordset->adoEOF)
			{  	
				pv=new Porivace();
				pv=(Porivace*)pComb.GetItemDataPtr(m_nDropListIndex);
				curID= VariantToCString(m_pTRecordset->GetCollect("mod_id"));	
				mComb.SetWindowTextA(curID);
                SelectRegion(curID,RegionComb);
				if (!m_pTRecordset->adoEOF)
					m_pTRecordset->MoveNext();
			}
		}
		m_pTRecordset->Close();
	}

⌨️ 快捷键说明

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