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

📄 blackretrivaldlg.cpp

📁 VC6.0环境下编写的一个交换机计费程序。
💻 CPP
字号:
// blackretrivalDlg.cpp : implementation file
//

#include "stdafx.h"
#include "fee.h"
#include "blackretrivalDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CblackretrivalDlg dialog


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


void CblackretrivalDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CblackretrivalDlg)
	DDX_Control(pDX, IDC_PROGRESS1, m_blackretrivalprogess);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CblackretrivalDlg message handlers

BOOL CblackretrivalDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_blackretrivalprogess.SetRange(0,100);
	m_blackretrivalprogess.SetPos(0);
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CblackretrivalDlg::OnOK() 
{
	// TODO: Add extra validation here
	CString strsubCallingNum,strsubCalledNum;
	CString strSql;
	unsigned long recordcount,donerecordcount;
	unsigned int pos;
	HRESULT result;
	unsigned char flag,flag1;

	strSql.Format("select * from blackSub");

	recordcount=0;
	donerecordcount=0;
	CFeeApp* pApp=(CFeeApp *)AfxGetApp();
	pApp->m_pjifeiRecordset->CursorLocation=adUseClientBatch;
	result=pApp->m_pjifeiRecordset->Open(strSql.AllocSysString(),
		pApp->m_pjifeiConnection.GetInterfacePtr(),
		adOpenDynamic,adLockOptimistic,adCmdText);
	if (!SUCCEEDED(result))
	{
		AfxMessageBox("can't open telephoneCode table");
	}

	if (!pApp->m_pjifeiRecordset->adoEOF)
	{
		recordcount=pApp->m_pjifeiRecordset->GetRecordCount();
	}
	while(!pApp->m_pjifeiRecordset->adoEOF)
	{
		flag=0;
		_variant_t varport;
		varport=pApp->m_pjifeiRecordset->GetCollect(_variant_t("blackCalledNum"));
		if (varport.vt!=VT_NULL)
			strsubCalledNum =(char*)_bstr_t(varport);
		else 
			strsubCalledNum="null";
		varport=pApp->m_pjifeiRecordset->GetCollect(_variant_t("blackCallingNum"));
		if (varport.vt!=VT_NULL)
			strsubCallingNum =(char*)_bstr_t(varport);
		else 
			strsubCallingNum="null";
		//strsubCalledNum=(char*)(_bstr_t)pApp->m_pjifeiRecordset->GetCollect(_variant_t("blackCalledNum"));
		flag1=0;
		flag=1;
		strSql.Format("select * from feefreecalled where callednum='%s'",strsubCalledNum);

		result=pApp->m_pjifei3Recordset->Open(strSql.AllocSysString(),
			pApp->m_pjifei3Connection.GetInterfacePtr(),
			adOpenDynamic,adLockOptimistic,adCmdText);
		if (!SUCCEEDED(result))
		{
			AfxMessageBox("can't open feetele table");
		}
		if(!pApp->m_pjifei3Recordset->adoEOF)
		{
			flag1=1;
			flag=2;
		}
		pApp->m_pjifei3Recordset->Close();			


		long lentemp;
		TCHAR strcalleddir[50];
		lentemp=strlen(strsubCalledNum);
	
		for(long n=0;n<lentemp;n++)
		{
			lstrcpyn(strcalleddir,strsubCalledNum,n+2);
			strSql.Format("select * from feedirection where feedirection='%s'",strcalleddir);
			result=pApp->m_pjifei3Recordset->Open(strSql.AllocSysString(),
				pApp->m_pjifei3Connection.GetInterfacePtr(),
				adOpenDynamic,adLockOptimistic,adCmdText);
			if (!SUCCEEDED(result))
			{
				AfxMessageBox("can't open feedirection table");
			}
			if (!pApp->m_pjifei3Recordset->adoEOF)  //找到被叫局向
			{
				flag1=1;
				flag=2;
			}
			pApp->m_pjifei3Recordset->Close();
		}
		if (flag==2)
		{
			strSql.Format("delete * from blackSub where blackCallingNum='%s' and blackCalledNum='%s'",\
				strsubCallingNum,strsubCalledNum);
			result=pApp->m_pjifei2Recordset->Open(strSql.AllocSysString(),
				pApp->m_pjifei2Connection.GetInterfacePtr(),
				adOpenDynamic,adLockOptimistic,adCmdText);
			if (!SUCCEEDED(result))
			{
				AfxMessageBox("can't open blackSub table");
			}
		}
		donerecordcount++;
		pos=((donerecordcount*100)/recordcount);
		m_blackretrivalprogess.SetPos(pos);
		pApp->m_pjifeiRecordset->MoveNext();
	}
	pApp->m_pjifeiRecordset->Close();
	AfxMessageBox("Restoration finished");

	CDialog::OnOK();

}

void CblackretrivalDlg::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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