📄 preparedata.cpp
字号:
//********************************************//
// 程序员:巨少辉 //
// 日期: 2005年11月20日 //
// PrepareData.cpp : 实现样本记录分层 //
//********************************************//
#include "stdafx.h"
#include "HeartDM.h"
#include "PrepareData.h"
#include "UserRecordSet.h"
#include "PrepareRecordSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPrepareData
IMPLEMENT_DYNCREATE(CPrepareData, CListView)
CPrepareData::CPrepareData()
{
}
CPrepareData::~CPrepareData()
{
}
BEGIN_MESSAGE_MAP(CPrepareData, CListView)
//{{AFX_MSG_MAP(CPrepareData)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPrepareData drawing
void CPrepareData::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CPrepareData diagnostics
#ifdef _DEBUG
void CPrepareData::AssertValid() const
{
CListView::AssertValid();
}
void CPrepareData::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CPrepareData message handlers
//实现样本记录分层,并导入表pheart中
void CPrepareData::PrepareData()
{
//创建CUserRecordSet的实例
CUserRecordSet m_UserRecordSet;
//创建CPrepareRecordSet的实例
CPrepareRecordSet m_PrepareRecordSet;
try
{
if(m_UserRecordSet.IsOpen())
m_UserRecordSet.Close();
if(m_PrepareRecordSet.IsOpen())
m_PrepareRecordSet.Close();
m_UserRecordSet.Open(CRecordset::snapshot,_T("select * from heart"));
m_UserRecordSet.MoveFirst();
m_PrepareRecordSet.Open(CRecordset::snapshot,NULL,CRecordset::none);
//记录分层
while(!m_UserRecordSet.IsEOF())
{
m_PrepareRecordSet.AddNew();
//age分作三层
if(m_UserRecordSet.m_age<=40)
{
m_PrepareRecordSet.m_page="<=40";
}
else if(m_UserRecordSet.m_age>40&&m_UserRecordSet.m_age<60)
{
m_PrepareRecordSet.m_page="40..60";
}
else
{
m_PrepareRecordSet.m_page=">=60";
}
//sex直接分作两层
m_PrepareRecordSet.m_psex=m_UserRecordSet.m_sex;
//cpt分层
if(m_UserRecordSet.m_cpt>4)
{
m_PrepareRecordSet.m_pcpt=4;
}
else if(m_UserRecordSet.m_cpt<1)
{
m_PrepareRecordSet.m_pcpt=1;
}
else
m_PrepareRecordSet.m_pcpt=m_UserRecordSet.m_cpt;
//rbp分层
if(m_UserRecordSet.m_rbp<=120)
{
m_PrepareRecordSet.m_prbp="<=120";
}
else if(m_UserRecordSet.m_rbp>120&&m_UserRecordSet.m_rbp<=140)
{
m_PrepareRecordSet.m_prbp="120..140";
}
else if(m_UserRecordSet.m_rbp>140&&m_UserRecordSet.m_rbp<=160)
{
m_PrepareRecordSet.m_prbp="140..160";
}
else if(m_UserRecordSet.m_rbp>160&&m_UserRecordSet.m_rbp<180)
{
m_PrepareRecordSet.m_prbp="160..180";
}
else
{
m_PrepareRecordSet.m_prbp=">=180";
}
//sci分层
if(m_UserRecordSet.m_sci<=205)
{
m_PrepareRecordSet.m_psci="<=205";
}
else if(m_UserRecordSet.m_sci>205&&m_UserRecordSet.m_sci<=270)
{
m_PrepareRecordSet.m_psci="205..270";
}
else if(m_UserRecordSet.m_sci>270&&m_UserRecordSet.m_sci<340)
{
m_PrepareRecordSet.m_psci="270..340";
}
else
{
m_PrepareRecordSet.m_psci="<=340";
}
//fbu分层
m_PrepareRecordSet.m_pfbu=m_UserRecordSet.m_fbu;
//rer分层
m_PrepareRecordSet.m_prer=m_UserRecordSet.m_rer;
//mhra分层
if(m_UserRecordSet.m_mhra<=95)
{
m_PrepareRecordSet.m_pmhra="<=95";
}
else if(m_UserRecordSet.m_mhra>95&&m_UserRecordSet.m_mhra<=120)
{
m_PrepareRecordSet.m_pmhra="90..120";
}
else if(m_UserRecordSet.m_mhra>120&&m_UserRecordSet.m_mhra<=144)
{
m_PrepareRecordSet.m_pmhra="120..144";
}
else if(m_UserRecordSet.m_mhra>144&&m_UserRecordSet.m_mhra<168)
{
m_PrepareRecordSet.m_pmhra="144..168";
}
else
{
m_PrepareRecordSet.m_pmhra=">=168";
}
//eia分层
m_PrepareRecordSet.m_peia=m_UserRecordSet.m_eia;
//op分层
if(m_UserRecordSet.m_op<=2)
{
m_PrepareRecordSet.m_pop="<=2";
}
else if(m_UserRecordSet.m_op>2&&m_UserRecordSet.m_op<4)
{
m_PrepareRecordSet.m_pop="2..4";
}
else
{
m_PrepareRecordSet.m_pop=">=4";
}
//sope分层
if(m_UserRecordSet.m_sope<=1.6)
{
m_PrepareRecordSet.m_psope="1";
}
else if(m_UserRecordSet.m_sope<2.3&&m_UserRecordSet.m_sope>1.6)
{
m_PrepareRecordSet.m_psope="2";
}
else
{
m_PrepareRecordSet.m_psope="3";
}
//nomv分层
if(m_UserRecordSet.m_nomv<=0.75)
{
m_PrepareRecordSet.m_pnomv="0";
}
else if(m_UserRecordSet.m_nomv>0.75&&m_UserRecordSet.m_nomv<=1.5)
{
m_PrepareRecordSet.m_pnomv="1";
}
else if(m_UserRecordSet.m_nomv>1.5&&m_UserRecordSet.m_nomv<2.25)
{
m_PrepareRecordSet.m_pnomv="2";
}
else
{
m_PrepareRecordSet.m_pnomv="3";
}
//thal分层
m_PrepareRecordSet.m_pthal=m_UserRecordSet.m_thal;
//y_n分层
m_PrepareRecordSet.m_py_n=m_UserRecordSet.m_y_n;
if(m_PrepareRecordSet.CanUpdate())
{
m_PrepareRecordSet.Update();
}
m_UserRecordSet.MoveNext();
m_PrepareRecordSet.Requery();
}
if(m_UserRecordSet.IsOpen())
{
m_UserRecordSet.Close();
}
if(m_PrepareRecordSet.IsOpen())
{
m_PrepareRecordSet.Close();
}
}
catch(CDBException *e)
{
e->ReportError();
return;
}
AfxMessageBox("预处理成功!");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -