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

📄 dlgqueryconf.cpp

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

#include "stdafx.h"
#include "SellMan.h"
#include "DlgQueryConf.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDlgQueryConf dialog


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


void CDlgQueryConf::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlgQueryConf)
	DDX_Control(pDX, IDC_CB_CONFOPR, m_cb_confopr);
	DDX_Control(pDX, IDC_CB_CONFGX, m_cb_confgx);
	DDX_Control(pDX, IDC_CB_CONFNAME, m_cb_confname);
	DDX_Control(pDX, IDC_ED_CONFVALUE, m_ed_confvalue);
	DDX_Control(pDX, IDC_LIST_CONF, m_list_conf);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDlgQueryConf, CDialog)
	//{{AFX_MSG_MAP(CDlgQueryConf)
	ON_BN_CLICKED(IDC_BT_CANCEL, OnBtCancel)
	ON_BN_CLICKED(IDC_BT_QRY_ADD, OnBtQryAdd)
	ON_BN_CLICKED(IDC_BT_QRY_DELETE, OnBtQryDelete)
	ON_BN_CLICKED(IDC_BT_SUER, OnBtSuer)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlgQueryConf message handlers

BOOL CDlgQueryConf::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_list_conf.InsertColumn( 0, "条件名称", LVCFMT_LEFT, 210 ); 
	m_list_conf.InsertColumn( 1, "操作符号", LVCFMT_LEFT, 60 );
	m_list_conf.InsertColumn( 2, "条件值", LVCFMT_LEFT, 210 );
	m_list_conf.InsertColumn( 3, "关系", LVCFMT_LEFT, 50 );
	m_list_conf.SetExtendedStyle( LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES  );
	m_list_conf.SetTextColor( RGB( 0, 0, 128 ) );
	Init();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CDlgQueryConf::InitRpCppf()
{
	m_cb_confname.InsertString( 0, "代理处编号" );
	m_cb_confname.InsertString( 1, "代理处名称" );
	m_cb_confname.SetWindowText( "代理处名称" );
	m_cb_confopr.SetWindowText( "=" );
	m_cb_confgx.SetWindowText( "&&" );
}

void CDlgQueryConf::Init()
{
	switch( m_nListMode  )
	{
	case ID_RP_CPPF:
		InitRpCppf();
		break;
	case ID_RP_MINGXI:
	    InitRpMingXi();
		break;
	case ID_RP_SPLS:
		InitRpCppf();
		break;
	}
}

void CDlgQueryConf::SelectSQL()
{

	switch( m_nListMode )
	{
	case ID_RP_CPPF:
		SQLRpCppf();
		break;
	case ID_RP_MINGXI:
		SQLRpMingXi();
		break;
	case ID_RP_SPLS:
		SQLRpCppf();
		break;
		
	}

}

void CDlgQueryConf::SQLRpCppf()
{
	int		nListCount, nlike = 0;
	char    szTmp[150], szTmp1[150], szSQL[500];
	CString strConfSwitch;

	memset( szSQL, 0, 500 );
	nListCount = m_list_conf.GetItemCount();
	memset( szSQL, 0 , 500 );
	for( int i = 0; i < nListCount; i++)
	{
		memset( szTmp, 0, 150 );
		m_list_conf.GetItemText( i, 0, szTmp, 150 );
		if ( !strcmp( szTmp, "代理处名称" ) )
		{
			if (!i)
				strcpy( szSQL, " AND SJDLCM " );
			else
				strcat( szSQL, "SJDLCM " );

			m_list_conf.GetItemText( i, 1, szTmp, 150 );
			if ( !strcmp( szTmp, "like" ) )
				nlike = 1;
			else
				nlike = 0;
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );
			
			m_list_conf.GetItemText( i, 2, szTmp, 150 );
			if ( nlike )
				sprintf( szTmp1, "'%%%s%%'", szTmp );
			else
				sprintf( szTmp1, "'%s'", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 3, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

		}
		else if (!strcmp( szTmp, "代理处编号" ))
		{
			if (!i)
				strcpy( szSQL, " AND SJCSBM " );
			else
				strcat( szSQL, "SJCSBM " );

			m_list_conf.GetItemText( i, 1, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 2, szTmp, 150 );
			sprintf( szTmp1, "'%s'", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 3, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

		}

	}
	strSQL.Format( "%s", szSQL );
}

void CDlgQueryConf::OnBtCancel() 
{
	CDlgQueryConf::OnCancel();
}

void CDlgQueryConf::OnBtQryAdd() 
{
	int		nCount;
	CString strTmp;

	nCount = m_list_conf.GetItemCount();
	m_cb_confname.GetWindowText( strTmp );
	m_list_conf.InsertItem( nCount, strTmp.GetBuffer( 0 ) );
	m_ed_confvalue.GetWindowText( strTmp );
	m_list_conf.SetItemText( nCount, 2, strTmp.GetBuffer( 0 ) );
	m_cb_confopr.GetWindowText( strTmp );
	m_list_conf.SetItemText( nCount, 1, strTmp.GetBuffer( 0 ) );
	if ( nCount )
	{
		m_cb_confgx.GetWindowText( strTmp );
		m_list_conf.SetItemText( nCount, 3, strTmp.GetBuffer( 0 ) );
	}

}

void CDlgQueryConf::OnBtQryDelete() 
{
	int nrow;
	nrow = m_list_conf.GetSelectionMark();
	if ( nrow >= 0 )
		m_list_conf.DeleteItem( nrow );

}

void CDlgQueryConf::OnBtSuer() 
{
	if ( m_list_conf.GetItemCount() > 0 )
	{
		SelectSQL();
		CDlgQueryConf::OnOK();
	}
	else
	{
		AfxMessageBox( "没有输入查询条件" );
	}
}

void CDlgQueryConf::InitRpMingXi()
{
	m_cb_confname.InsertString( 0, "发放日期" );
	m_cb_confname.InsertString( 1, "发放期数" );
	m_cb_confname.SetWindowText( "发放日期" );
	m_cb_confopr.SetWindowText( "=" );
	m_cb_confgx.SetWindowText( "&&" );
}

void CDlgQueryConf::SQLRpMingXi()
{
	int		nListCount, nlike = 0;
	char    szTmp[150], szTmp1[150], szSQL[500];
	CString strConfSwitch;

	memset( szSQL, 0, 500 );
	nListCount = m_list_conf.GetItemCount();
	memset( szSQL, 0 , 500 );
	for( int i = 0; i < nListCount; i++)
	{
		memset( szTmp, 0, 150 );
		m_list_conf.GetItemText( i, 0, szTmp, 150 );
		if ( !strcmp( szTmp, "发放日期" ) )
		{
			if (!i)
				strcpy( szSQL, "  GZJSQR " );
			else
				strcat( szSQL, "GZJSQR " );

			m_list_conf.GetItemText( i, 1, szTmp, 150 );
			if ( !strcmp( szTmp, "like" ) )
				nlike = 1;
			else
				nlike = 0;
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );
			
			m_list_conf.GetItemText( i, 2, szTmp, 150 );
			if ( nlike )
				sprintf( szTmp1, "'%%%s%%'", szTmp );
			else
				sprintf( szTmp1, "'%s'", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 3, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

		}
		else if (!strcmp( szTmp, "发放期数" ))
		{
			if (!i)
				strcpy( szSQL, "  GZFFQB " );
			else
				strcat( szSQL, "GZFFQB " );

			m_list_conf.GetItemText( i, 1, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 2, szTmp, 150 );
			sprintf( szTmp1, "'%s'", szTmp );
			strcat( szSQL, szTmp1 );

			m_list_conf.GetItemText( i, 3, szTmp, 150 );
			sprintf( szTmp1, " %s ", szTmp );
			strcat( szSQL, szTmp1 );

		}

	}
	strSQL.Format( "%s", szSQL );	
}

⌨️ 快捷键说明

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