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

📄 byteimport.cpp

📁 一个用ADO执行存储过程的例子
💻 CPP
字号:
#include <stdafx.h>
#include "ByteImport.h"

ByteImport::ByteImport(char *pcFile,char *pcDelimiter)
{	m_bIsopen = false;
	try
	{
		f.open(pcFile,ios::nocreate );

	}
	catch(CException e)
	{
		TCHAR    szCause[255]; 
        e.GetErrorMessage(szCause, 255);
		AfxMessageBox(_T(szCause));
		return;
	}
	m_bIsopen = (f.is_open()==1? true:false) ;
	ByteImport::pcDelimiter = pcDelimiter;
	iValidRecords = iInvalidRecords = 0;
	ttStop = ttStart = (time_t) 0;
}

ByteImport::~ByteImport()
{
	f.close();
}

int ByteImport::isNumeric(char *pcBuffer)
{
	for (int ii=0; pcBuffer[ii]; ii++)
		if ( ! isdigit(pcBuffer[ii]) ) return 0;

	return 1;
}

time_t ByteImport::ElapsedTime()
{
	static char caBuffer[256];
	time_t		ttEnd		= ttStop;

	if ( (time_t) 0 == ttEnd ) time(&ttEnd);

	return ttEnd - ttStart;
}

void ByteImport::parse()
{
		iBufferStatus = Invalid;

	pcDate = strtok(caBuffer,"\t");
	if ( NULL == pcDate ) return;
	pcURL = strtok(NULL,"\t");
	if ( NULL == pcURL ) return;
	pcTop = strtok(NULL,"\t");
	if ( NULL == pcTop ) return;
	pcQueryString = strtok(NULL,"\t");
	if ( NULL == pcQueryString ) return;
	pcBytes = strtok(NULL,"\t");
	if ( NULL == pcBytes || (! isNumeric(pcBytes)) ) return;
	iBytes = atoi(pcBytes);
	pcRequests = strtok(NULL,"\t");
	if ( NULL == pcRequests || (! isNumeric(pcRequests)) ) return;
	iRequests = atoi(pcRequests);

	iBufferStatus = Valid;
}

int ByteImport::next()
{
	if ( ! ttStart ) time(&ttStart);

	if ( f.getline(caBuffer,sizeof(caBuffer)) ) {
		parse();
		if ( isValidRecord() ) {
			strcpy(pcSQL,"execute sp_AddAccountingInfo 30,'");
			strcat(pcSQL,pcDate);
			strcat(pcSQL,"','");
			strcat(pcSQL,pcURL);
			strcat(pcSQL,"','");
			strcat(pcSQL,pcTop);
			strcat(pcSQL,"',");
			strcat(pcSQL,pcBytes);
			strcat(pcSQL,",");
			strcat(pcSQL,pcRequests);
			++iValidRecords;
		}
		else {
			++iInvalidRecords;
		}
		return 1;
	}
	else {
		time(&ttStop);
		return 0;
	}
}

⌨️ 快捷键说明

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