📄 dlgsj.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 + -