📄 plain.cpp
字号:
// PLAIN.cpp : implementation file
//
#include "stdafx.h"
#include "family_financ_system.h"
#include "PLAIN.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPLAIN dialog
CPLAIN::CPLAIN(CWnd* pParent /*=NULL*/)
: CDialog(CPLAIN::IDD, pParent)
{
//{{AFX_DATA_INIT(CPLAIN)
m_plain_average = 0.0f;
m_true_average = 0.0f;
m_this_plain = 0.0f;
m_this_l_plain = 0.0f;
m_this_p_plain = 0.0f;
//}}AFX_DATA_INIT
}
void CPLAIN::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CPLAIN)
DDX_Control(pDX, IDC_LIST1, m_list);
DDX_Text(pDX, IDC_EDIT1, m_plain_average);
DDX_Text(pDX, IDC_EDIT2, m_true_average);
DDX_Text(pDX, IDC_EDIT3, m_this_plain);
DDX_Text(pDX, IDC_EDIT4, m_this_l_plain);
DDX_Text(pDX, IDC_EDIT5, m_this_p_plain);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CPLAIN, CDialog)
//{{AFX_MSG_MAP(CPLAIN)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPLAIN message handlers
void CPLAIN::OnOK()
{
// TODO: Add extra validation here
UpdateData(TRUE);
CoInitialize(NULL); //初始化COM组件
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pConnection->Open(_bstr_t(Title1),"","",adModeUnknown);
CString sqlstr="SELECT * FROM 月统计表 where (年=";
CString string_temp;
string_temp.Format("%d",nYear);
sqlstr=sqlstr+string_temp;
sqlstr=sqlstr+") and (月=";
string_temp.Format("%d",nMonth);
sqlstr=sqlstr+string_temp;
sqlstr=sqlstr+")";
m_pRecordset->Open(_variant_t(sqlstr), // 查询Demo表中所有字段
(IDispatch*)m_pConnection.GetInterfacePtr(), // 获取数据库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
if(!m_pRecordset->EndEOF)
{
m_pRecordset->PutCollect("总计划支出",m_this_plain);;
m_pRecordset->PutCollect("生活计划支出",m_this_l_plain);
m_pRecordset->PutCollect("休闲计划支出",m_this_p_plain);
m_pRecordset->Update();
}
m_pRecordset->Close();
m_pConnection->Close();
CoUninitialize(); //卸载COM组件
UpdateData(FALSE);
CDialog::OnOK();
}
BOOL CPLAIN::OnInitDialog()
{
CDialog::OnInitDialog();
float float_sum1=0.0,float_sum2=0.0,float_temp=0.0;
CString string_temp;
// TODO: Add extra initialization here
// 初始化列表
m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT);
m_list.InsertColumn(0,"时间",LVCFMT_LEFT,60,-1);
m_list.InsertColumn(1,"总计划支出",LVCFMT_LEFT,100,-1);
m_list.InsertColumn(2,"实际总支出",LVCFMT_LEFT,100,-1);
m_list.InsertColumn(3,"生活计划消费",LVCFMT_LEFT,110,-1);
m_list.InsertColumn(4,"文娱计划消费",LVCFMT_LEFT,110,-1);
int i=0;
int nstep;
_bstr_t temp;
////////////////////////////////////////////////////////////////////////////////
CoInitialize(NULL); //初始化COM组件
_ConnectionPtr pConn(__uuidof(Connection)); //实例化一个connection对象pConn
_RecordsetPtr pRst(__uuidof(Recordset)); //实例化一个Recordset对象pRst
_CommandPtr pCmd(__uuidof(Command)); //实例化一个Command对象pCmd
pConn->ConnectionString=(_bstr_t)Title1;
//通过pConn对象连接字符串,连接到ACCESS数据库
HRESULT hr = pConn->Open("","","",adConnectUnspecified);
// 以同步的方式进行连接 open("连接字串","用户名","密码","连接方式")
// 连接方式有"adConnectUnspecified"(同步) 和 "adAsyncConnect" (异步)
pCmd->put_ActiveConnection(_variant_t((IDispatch*)pConn));
pCmd->CommandText="SELECT * FROM 月统计表"; //通过pCmd对象访问数据库
pRst=pCmd->Execute(NULL,NULL,adCmdText);
for(;!pRst->EndEOF; pRst->MoveNext()) // 在数据库中寻找 pRecord->MoveFirst()
{
temp=pRst->GetCollect("年");
string_temp=(char *)temp;
temp=pRst->GetCollect("月");
string_temp=string_temp+"-"+(char *)temp;
nstep=m_list.InsertItem(i,string_temp);
temp=pRst->GetCollect("总计划支出");
string_temp=(char *)temp;
sscanf(string_temp,"%f",&float_temp);
float_sum1=float_sum1+float_temp;
float_temp=0.0;
m_list.SetItemText(nstep,1,temp);
temp=pRst->GetCollect("月支出");
string_temp=(char *)temp;
sscanf(string_temp,"%f",&float_temp);
float_sum2=float_sum2+float_temp;
m_list.SetItemText(nstep,2,temp);
float_temp=0.0;
temp=pRst->GetCollect("生活计划支出");
m_list.SetItemText(nstep,3,temp);
temp=pRst->GetCollect("休闲计划支出");
m_list.SetItemText(nstep,4,temp);
}
//////////////////////////////////////////////////////////////////////
pRst->Close(); //关闭对象
pConn->Close();
pCmd.Release(); //释放对象
pRst.Release();
pConn.Release();
CoUninitialize(); //卸载COM组件
/////////////////////////////////////////////////////////////////////
m_plain_average=float_sum1/(nstep+1);
m_true_average=float_sum2/(nstep+1);
UpdateData(FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -