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

📄 param.cpp

📁 用C++基于SQL SERVER使用存储过程
💻 CPP
字号:
// Param.cpp: implementation of the Param class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Param.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

Param::Param()
{
	m_intTelLevel=1;
	m_intTelInterval=24;
	m_intPreInterval=24;
	m_dblPeriodStandard=20;

	m_intTelLevel1=1;
	m_intTelInterval1=24;
	m_intPreInterval1=24;
	m_dblPeriodStandard1=20;

	m_intTelLevel2=1;
	m_intTelInterval2=24;
	m_intPreInterval2=24;
	m_dblPeriodStandard2=20;

	m_intAddiInterval=3;
	m_dblAddiStandard=30;
	m_intAddiInterval1=1;
	m_dblAddiStandard1=20;

	m_strMemo="";

}

Param::~Param()
{

}

/*
int Param::startbr()
{
	int intReturnCode=0;

	if(!m_fConnected){
		m_strErrMsg="***错误:数据库尚未连接";
		return -1;
	}

	HRESULT			hr;
	_bstr_t			source=m_strSource;
	_bstr_t			query=m_strSQL;
	try{
		hr=m_pRst->Open(query,source,adOpenDynamic,adLockOptimistic,adCmdText);
	}
	catch(_com_error e){
		m_strErrMsg.Format("***错误:打开记录集出错:%s",e.ErrorMessage());
		return -1;
	}

	intReturnCode=bindvalue();
	if(intReturnCode<0)m_strErrMsg="***错误:获取表栏位值出错";
	return intReturnCode;
}

int Param::readnext()
{
	int intReturnCode=0;

	if(!m_fConnected){
		m_strErrMsg="***错误:数据库尚未连接";
		return -1;
	}

	try{
		m_pRst->MoveNext();
	}
	catch(_com_error e){
		m_strErrMsg.Format("***错误:记录集读取次笔出错:%s",e.ErrorMessage());
		return -1;
	}

	intReturnCode=bindvalue();
	if(intReturnCode<0)m_strErrMsg="***错误:获取表栏位值出错";
	return intReturnCode;
}

int Param::endbr()
{
	if(!m_fConnected)return -1;
	m_pRst->Close();
	return 0;
}

int Param::insertrec()
{
	int intReturnCode=0;
	
	if(!m_fConnected){
		m_strErrMsg="***错误:数据库尚未连接";
		return -1;
	}

	HRESULT			hr;

	try{
		hr=m_pRst->AddNew();
		intReturnCode=setvalue();
		if(intReturnCode<0){
			m_strErrMsg="***错误:设置表栏位值出错";
			return intReturnCode;
		}

		hr=m_pRst->Update();
	}
	catch(_com_error e){
		m_strErrMsg.Format("***错误:新增记录出错:%s",e.ErrorMessage());
		return -1;
	}

	return 0;
}

int Param::updaterec()
{
	int intReturnCode=0;

	HRESULT			hr;

	if(!m_fConnected){
		m_strErrMsg="***错误:数据库尚未连接";
		return -1;
	}

	if(m_pRst->adoEOF){
		m_strErrMsg="   警告:记录集到尾";
		return 1;
	}

	try{
		intReturnCode=setvalue();
		if(intReturnCode<0){
			m_strErrMsg="***错误:设置表栏位值出错";
			return intReturnCode;
		}
		hr=m_pRst->Update();
	}
	catch(_com_error e){
		m_strErrMsg.Format("***错误:更新数据出错%s",e.ErrorMessage());
		return -1;
	}

	return 0;
}

int Param::deleterec()
{
	int intReturnCode=0;

	HRESULT			hr;

	if(!m_fConnected){
		m_strErrMsg="***错误:数据库尚未连接";
		return -1;
	}

	if(m_pRst->adoEOF){
		m_strErrMsg="   警告:记录集到尾";
		return 1;
	}

	try{
		hr=m_pRst->Delete(adAffectCurrent);
	}
	catch(_com_error e){
		m_strErrMsg.Format("***错误:删除数据出错:%s",e.ErrorMessage());
		return -1;
	}

	return 0;
}
*/
int Param::setvalue()
{
	VARIANT			varValue;
	CString			strValue;

	try{
		varValue.vt=VT_BSTR;
		varValue.bstrVal=(_bstr_t)m_strParamID;
		m_pRst->PutCollect("ParamID",&varValue);

		varValue.vt=VT_BSTR;
		varValue.bstrVal=(_bstr_t)m_strStation;
		m_pRst->PutCollect("Station",&varValue);

		varValue.vt=VT_I2;
		varValue.iVal=m_intTelLevel;
		m_pRst->PutCollect("TelLevel",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intTelInterval;
		m_pRst->PutCollect("TelInterval",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intPreInterval;
		m_pRst->PutCollect("PreInterval",&varValue);
		varValue.vt=VT_R8;
		varValue.dblVal=m_dblPeriodStandard;
		m_pRst->PutCollect("PeriodStandard",&varValue);

		varValue.vt=VT_I2;
		varValue.iVal=m_intTelLevel1;
		m_pRst->PutCollect("TelLevel1",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intTelInterval1;
		m_pRst->PutCollect("TelInterval1",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intPreInterval1;
		m_pRst->PutCollect("PreInterval1",&varValue);
		varValue.vt=VT_R8;
		varValue.dblVal=m_dblPeriodStandard1;
		m_pRst->PutCollect("PeriodStandard1",&varValue);

		varValue.vt=VT_I2;
		varValue.iVal=m_intTelLevel2;
		m_pRst->PutCollect("TelLevel2",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intTelInterval2;
		m_pRst->PutCollect("TelInterval2",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intPreInterval2;
		m_pRst->PutCollect("PreInterval2",&varValue);
		varValue.vt=VT_R8;
		varValue.dblVal=m_dblPeriodStandard2;
		m_pRst->PutCollect("PeriodStandard2",&varValue);

		varValue.vt=VT_UI1;
		varValue.bVal=m_bolAccuFlag;
		m_pRst->PutCollect("AccuFlag",&varValue);

		varValue.vt=VT_R8;
		varValue.dblVal=m_dblAddiStandard;
		m_pRst->PutCollect("AddiStandard",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intAddiInterval;
		m_pRst->PutCollect("AddiInterval",&varValue);

		varValue.vt=VT_R8;
		varValue.dblVal=m_dblAddiStandard1;
		m_pRst->PutCollect("AddiStandard1",&varValue);
		varValue.vt=VT_I2;
		varValue.iVal=m_intAddiInterval1;
		m_pRst->PutCollect("AddiInterval1",&varValue);

		varValue.vt=VT_BSTR;
		varValue.bstrVal=(_bstr_t)m_strMemo;
		m_pRst->PutCollect("Memo",&varValue);
	}
	catch(_com_error e){
		return -1;
	}
	return 0;
}

int Param::bindvalue()
{
	if(m_pRst->EndOfFile)return 1;

	VARIANT			varValue;
	CString			strValue;
	try{
		varValue = m_pRst->GetCollect("ParamID");
		if(varValue.vt != VT_NULL)m_strParamID=(LPCSTR)_bstr_t(varValue);

		varValue = m_pRst->GetCollect("Station");
		if(varValue.vt != VT_NULL)m_strStation=(LPCSTR)_bstr_t(varValue);

		varValue = m_pRst->GetCollect("TelLevel");
		if(varValue.vt != VT_NULL)m_intTelLevel=varValue.iVal;
		varValue = m_pRst->GetCollect("TelInterval");
		if(varValue.vt != VT_NULL)m_intTelInterval=varValue.iVal;
		varValue = m_pRst->GetCollect("PreInterval");
		if(varValue.vt != VT_NULL)m_intPreInterval=varValue.iVal;
		varValue = m_pRst->GetCollect("PeriodStandard");
		if(varValue.vt != VT_NULL)m_dblPeriodStandard=varValue.dblVal;

		varValue = m_pRst->GetCollect("TelLevel1");
		if(varValue.vt != VT_NULL)m_intTelLevel1=varValue.iVal;
		varValue = m_pRst->GetCollect("TelInterval1");
		if(varValue.vt != VT_NULL)m_intTelInterval1=varValue.iVal;
		varValue = m_pRst->GetCollect("PreInterval1");
		if(varValue.vt != VT_NULL)m_intPreInterval1=varValue.iVal;
		varValue = m_pRst->GetCollect("PeriodStandard1");
		if(varValue.vt != VT_NULL)m_dblPeriodStandard1=varValue.dblVal;

		varValue = m_pRst->GetCollect("TelLevel2");
		if(varValue.vt != VT_NULL)m_intTelLevel2=varValue.iVal;
		varValue = m_pRst->GetCollect("TelInterval2");
		if(varValue.vt != VT_NULL)m_intTelInterval2=varValue.iVal;
		varValue = m_pRst->GetCollect("PreInterval2");
		if(varValue.vt != VT_NULL)m_intPreInterval2=varValue.iVal;
		varValue = m_pRst->GetCollect("PeriodStandard2");
		if(varValue.vt != VT_NULL)m_dblPeriodStandard2=varValue.dblVal;

		varValue = m_pRst->GetCollect("AccuFlag");
		if(varValue.vt != VT_NULL)m_bolAccuFlag=varValue.bVal;

		varValue = m_pRst->GetCollect("AddiStandard");
		if(varValue.vt != VT_NULL)m_dblAddiStandard=varValue.dblVal;
		varValue = m_pRst->GetCollect("AddiInterval");
		if(varValue.vt != VT_NULL)m_intAddiInterval=varValue.iVal;

		varValue = m_pRst->GetCollect("AddiStandard1");
		if(varValue.vt != VT_NULL)m_dblAddiStandard1=varValue.dblVal;
		varValue = m_pRst->GetCollect("AddiInterval1");
		if(varValue.vt != VT_NULL)m_intAddiInterval1=varValue.iVal;

		varValue = m_pRst->GetCollect("Memo");
		if(varValue.vt != VT_NULL)m_strMemo=(LPCSTR)_bstr_t(varValue);
	}
	catch(_com_error e){
		return -1;
	}
	return 0;
}

⌨️ 快捷键说明

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