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

📄 dlgsj.cpp

📁 我自己整理的一些VC源代码
💻 CPP
字号:
// DlgSJ.cpp : implementation file
//

#include "stdafx.h"
#include "SellMan.h"
#include "DlgSJ.h"

#include "TabXC.h"
#include "TabDL.h"
#include "TabSJ.h"
#include "TabCS.h"
#include "TabSP.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgSJ dialog
extern _ConnectionPtr connection;
extern BOOL bConnected;

CDlgSJ::CDlgSJ(CWnd* pParent /*=NULL*/)
	: CDialog(CDlgSJ::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlgSJ)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	m_nOperType = MODE_APPEND;
}


void CDlgSJ::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgSJ)
	DDX_Control(pDX, IDC_ED_SJDLCM, m_ed_sjdlcm);
	DDX_Control(pDX, IDC_ED_SJCSBM, m_ed_sjcsbm);
	DDX_Control(pDX, IDC_ED_SJBZXX, m_ed_sjbzxx);
	DDX_Control(pDX, IDC_CB_SJSJCH, m_cb_sjsjch);
	DDX_Control(pDX, IDC_CB_SJFZRH, m_cb_sjfzrh);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgSJ, CDialog)
	//{{AFX_MSG_MAP(CDlgSJ)
	ON_BN_CLICKED(IDC_BT_NEXT, OnBtNext)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgSJ message handlers

BOOL CDlgSJ::OnInitDialog() 
{
	CDialog::OnInitDialog();

	CTabXC tabxc;
	CTabSJ tabsj;
	
	try
	{
		tabxc.Open();
		while( tabxc.IsOpen() && !tabxc.IsEOF() )
		{
			m_cb_sjfzrh.SetItemData( m_cb_sjfzrh.AddString( tabxc.XCYGID.GetValue() + " " + tabxc.XCYGMC.GetValue() ), atol( tabxc.XCYGID.GetValue() ) );
			tabxc.MoveNext();
		}

		tabsj.Open();
		while( tabsj.IsOpen() && !tabsj.IsEOF() )
		{
			m_cb_sjsjch.SetItemData( m_cb_sjsjch.AddString( tabsj.SJDLCM.GetValue() ), atol( tabsj.SJDLCH.GetValue() ) );
			tabsj.MoveNext();
		}

		if( m_nOperType == MODE_MODIFY )
		{
			m_ed_sjdlcm.SetWindowText( strsjdlcm );
			m_ed_sjcsbm.SetWindowText( strsjcsbm );
			m_ed_sjbzxx.SetWindowText( strsjbzxx );
			m_cb_sjsjch.SelectString( 0, strsjsjch );
			m_cb_sjfzrh.SelectString( 0, strsjfzrh );
		}
		else
		{
			m_cb_sjsjch.SetCurSel( 0 );
			m_cb_sjfzrh.SetCurSel( 0 );
		}
	}
	catch( _com_error &e )
	{
		AfxMessageBox( e.ErrorMessage() );
	}
	catch( ... )
	{
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgSJ::OnOK() 
{
	BOOL bRet = FALSE;
	CTabSJ tabsj;
	CString strTmp;

	m_ed_sjdlcm.GetWindowText( strsjdlcm );
	m_ed_sjcsbm.GetWindowText( strsjcsbm );
	m_ed_sjbzxx.GetWindowText( strsjbzxx );
	m_cb_sjsjch.GetWindowText( strsjsjch );
	m_cb_sjfzrh.GetWindowText( strsjfzrh );

	if( strsjcsbm.IsEmpty() )
	{
		AfxMessageBox( "编号不能为空!" );
		return;
	}

	if( strsjdlcm.IsEmpty() )
	{
		AfxMessageBox( "名称不能为空!" );
		return;
	}

	try
	{
		if( m_nOperType == MODE_MODIFY )
		{
		//	strsjdlch.Format( "%d", tabsj.GetNextID( "sjdlch" ) );
		//	tabsj.SJDLCH.strValue = strsjdlch;
			tabsj.SJCSBM.strValue = strsjcsbm;
			strTmp.Format( "%ld", (long)m_cb_sjsjch.GetItemData( m_cb_sjsjch.GetCurSel() ) );
			tabsj.SJSJCH.strValue = strTmp;
			tabsj.SJDLCM.strValue = strsjdlcm;
			strTmp.Format( "%ld", (long)m_cb_sjfzrh.GetItemData( m_cb_sjfzrh.GetCurSel() ) );
			tabsj.SJFZRH.strValue = strTmp;
			tabsj.SJJLZT.strValue = "1";
			tabsj.SJBZXX.strValue = strsjbzxx;
			tabsj.UpdateRecord();
			bRet = TRUE;
		}
		else
		{
			/*hr = recordset.CreateInstance( _uuidof( Recordset ) );
			if( SUCCEEDED(hr) )
			{
				_bstr_t query( "select max( sjdlch ) + 1 from sj" );
				hr = recordset->Open( query, _variant_t((IDispatch*)connection, true), 
					adOpenDynamic, adLockUnspecified/*adLockOptimistic, adCmdText );
				if( SUCCEEDED(hr) )
				{
					recordset->get_Fields( &fields );
					fields->Item[ (long)0 ]->get_Value( &var_value );
					strsjdlch = VariantToString( var_value );
					if( strsjdlch.IsEmpty() ) strsjdlch = "1";
				}*/
			strsjdlch.Format( "%d", tabsj.GetNextID( "sjdlch" ) );
			tabsj.SJDLCH.strValue = strsjdlch;
			tabsj.SJCSBM.strValue = strsjcsbm;
			strTmp.Format( "%ld", (long)m_cb_sjsjch.GetItemData( m_cb_sjsjch.GetCurSel() ) );
			tabsj.SJSJCH.strValue = strTmp;
			tabsj.SJDLCM.strValue = strsjdlcm;
			strTmp.Format( "%ld", (long)m_cb_sjfzrh.GetItemData( m_cb_sjfzrh.GetCurSel() ) );
			tabsj.SJFZRH.strValue = strTmp;
			tabsj.SJJLZT.strValue = "1";
			tabsj.SJBZXX.strValue = strsjbzxx;
			tabsj.AppendRecord();
			bRet = TRUE;
		}
	}
	catch( _com_error &e )
	{
		AfxMessageBox( e.ErrorMessage() );
	}
	catch( ... )
	{
	}
	
	if( bRet ) CDialog::OnOK();
	else CDialog::OnCancel();
}

void CDlgSJ::OnBtNext() 
{
	NextDlgCtrl();
}

⌨️ 快捷键说明

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