📄 transaction.cpp
字号:
// transaction.cpp: implementation of the Ctransaction class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "office.h"
#include "transaction.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Ctransaction::Ctransaction()
{
transactionType="";//事物类别
transactionSubject="";//事物主题
content="";//事物内容
CoInitialize(NULL);//COM
}
Ctransaction::~Ctransaction()
{
}
CString Ctransaction::GetTransactionType()
{
return transactionType;
}
COleDateTime Ctransaction::GetTransactionDate()
{
return transactionDate;
}
CString Ctransaction::GetTransactionSubject()
{
return transactionSubject;
}
CString Ctransaction::GetTransactionContent()
{
return content;
}
void Ctransaction::SetTransactionType(CString m_type)
{
transactionType=m_type;
}
void Ctransaction::SetTransactionDate(COleDateTime m_time)
{
transactionDate=m_time;
}
void Ctransaction::SetTransactionSubject(CString m_subject)
{
transactionSubject=m_subject;
}
void Ctransaction::SetTransactionContent(CString m_content)
{
content=m_content;
}
//extern COfficeApp theApp;
void Ctransaction::SQLinsert()
{
_ConnectionPtr m_pConn(__uuidof(Connection));
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
CString strSQL;
strSQL="Select*From 事务表";
_RecordsetPtr m_set("ADODB.Recordset");
m_set->Open((_bstr_t )strSQL,_variant_t(m_pConn,true),adOpenDynamic,adLockPessimistic,adCmdText);
m_set->AddNew();
CString m_convertDate;
//先用int型获取响应的数字;
int year=transactionDate.GetYear();
int month=transactionDate.GetMonth();
int day=transactionDate.GetDay();
m_convertDate.Format("%d-%d-%d",year,month,day);
_variant_t m_variantDate=_variant_t(m_convertDate);
m_set->PutCollect("事务类型",_variant_t(transactionType));
//由于直接将其做为参数输入数据库的数据是不正确的故这里用了CString的转化
// m_set->PutCollect("事务日期",_variant_t(transactionDate));
m_set->PutCollect("事务日期",m_variantDate);
m_set->PutCollect("事务主题",_variant_t(transactionSubject));
m_set->PutCollect("事务内容",_variant_t(content));
m_set->Update();
}
void Ctransaction::SQLdelete(CString m_type)
{
CString strSQL;
strSQL="delete from 事务表 where 事务类型 ='";
strSQL=strSQL+m_type+"'";//构造删除指定事务类型的SQL语句;
_ConnectionPtr m_pConn("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
m_pConn->Execute((_bstr_t)strSQL,NULL,adCmdText);
}
void Ctransaction::GetData(CString m_subject)
{
_ConnectionPtr m_pConn("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
///////////////////////////
CString strSQL;
strSQL="select*from 事务表 where 事务主题='";
strSQL=strSQL+m_subject+"'";
_RecordsetPtr m_set("ADODB.Recordset");
m_set->Open( (LPTSTR)strSQL.GetBuffer(130),_variant_t(m_pConn,true),adOpenDynamic,adLockPessimistic,adCmdText);
// m_set->Filter=_bstr_t(p);
//这里用到了强制转化 (LPCSTR)((_bstr_t)先将_variant_t转为_bstr_t再转为LPCSTR又隐式转为CString;
transactionType=(LPCSTR)((_bstr_t)m_set->GetCollect("事务类型"));
//这里用COleDateTime强制转化
transactionDate=(COleDateTime)(m_set->GetCollect("事务日期"));
transactionSubject=(LPCSTR)((_bstr_t)m_set->GetCollect("事务主题"));
content=(LPCSTR)((_bstr_t)m_set->GetCollect("事务内容"));
}
void Ctransaction::SQLupdate(CString m_oldSubject)
{
CString strSQL;
strSQL="select*from 事务表 where 事务主题='";
strSQL=strSQL+m_oldSubject+"'";
_ConnectionPtr m_pConn("ADODB.Connection");
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\DataSource\\office1.mdb;Persist Security Info=False","","",adConnectUnspecified);
_RecordsetPtr m_set("ADODB.Recordset");
m_set->Open( (LPTSTR)strSQL.GetBuffer(130),_variant_t(m_pConn,true),adOpenDynamic,adLockPessimistic,adCmdText);
if(!m_set->EndOfFile)
{
CString m_convertDate;
//先用int型获取响应的数字;
int year=transactionDate.GetYear();
int month=transactionDate.GetMonth();
int day=transactionDate.GetDay();
m_convertDate.Format("%d-%d-%d",year,month,day);
_variant_t m_variantDate=_variant_t(m_convertDate);
m_set->PutCollect("事务类型",_variant_t(transactionType));
//由于直接将其做为参数输入数据库的数据是不正确的故这里用了CString的转化
// m_set->PutCollect("事务日期",_variant_t(transactionDate));
m_set->PutCollect("事务日期",m_variantDate);
m_set->PutCollect("事务主题",_variant_t(transactionSubject));
m_set->PutCollect("事务内容",_variant_t(content));
}
//记得添加和修改后要用Update方法来更新
m_set->Update();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -