📄 adodemoview.cpp
字号:
// ADODemoView.cpp : implementation of the CADODemoView class
//
#include "stdafx.h"
#include "ADODemo.h"
#include "ADODemoDoc.h"
#include "ADODemoView.h"
#include "MemberinDlg.h"
#include "MemberoutDlg.h"
#include "SocietyDelDlg.h"
#include "SocietyRegDlg.h"
#include "ExpenRegDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CADODemoView
IMPLEMENT_DYNCREATE(CADODemoView, CListView)
BEGIN_MESSAGE_MAP(CADODemoView, CListView)
//{{AFX_MSG_MAP(CADODemoView)
ON_COMMAND(ID_MEMBER_INPUT, OnMemberInput)
ON_COMMAND(ID_MEMBER_EXIT, OnMemberExit)
ON_COMMAND(ID_SOCIETY_DELETE, OnSocietyDelete)
ON_COMMAND(ID_SOCIETY_REGISTER, OnSocietyRegister)
ON_COMMAND(ID_EXPENSE_REGISTER, OnExpenseRegister)
ON_COMMAND(ID_MEMBER_QUERY, OnMemberQuery)
ON_COMMAND(ID_SOCIETY_QUERY, OnSocietyQuery)
ON_COMMAND(ID_EXPENSE_STATICS, OnExpenseStatics)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CListView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CListView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CADODemoView construction/destruction
CADODemoView::CADODemoView()
{
// TODO: add construction code here
m_fConnected = FALSE;
m_strSource = _T("");
}
CADODemoView::~CADODemoView()
{
}
BOOL CADODemoView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
cs.style |= LVS_REPORT;
return CListView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CADODemoView drawing
void CADODemoView::OnDraw(CDC* pDC)
{
CADODemoDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
void CADODemoView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
CListCtrl& ctrlList = (CListCtrl&) GetListCtrl();
ctrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT);
// TODO: You may populate your ListView with items by directly accessing
// its list control through a call to GetListCtrl().
_bstr_t source("Driver={SQL Server};Server=DD;Uid=sa;Pwd=;Database=membership");
_bstr_t user("admin");
_bstr_t pwd("");
HRESULT hr;
try{
hr = m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr = m_connection->Open(source, "", "", 16);
if(SUCCEEDED(hr))
hr = m_recordset.CreateInstance(_uuidof(Recordset));
if(SUCCEEDED(hr))
m_fConnected = TRUE;
else
m_fConnected = FALSE;
}
catch (_com_error &e){
MessageBox(e.ErrorMessage());
m_fConnected = FALSE;
}
if(!m_fConnected) MessageBox("ADO数据源初始化失败!");
else m_strSource = (const char * )source;
}
/////////////////////////////////////////////////////////////////////////////
// CADODemoView printing
BOOL CADODemoView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CADODemoView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CADODemoView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CADODemoView diagnostics
#ifdef _DEBUG
void CADODemoView::AssertValid() const
{
CListView::AssertValid();
}
void CADODemoView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
CADODemoDoc* CADODemoView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CADODemoDoc)));
return (CADODemoDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CADODemoView message handlers
void CADODemoView::OnMemberInput()
{
// TODO: Add your command handler code here
CUIntArray uaID;
CStringArray saArray;
CString strTableName;
CMemberinDlg MemberinDlg;
strTableName = _T("社团");
if(!GetInfoArray(strTableName, uaID, saArray)) return;
MemberinDlg.m_suSocietyID.Append(uaID);
MemberinDlg.m_saSocietyName.Append(saArray);
uaID.RemoveAll();
saArray.RemoveAll();
strTableName = _T("收入阶层");
if(!GetInfoArray(strTableName, uaID, saArray)) return;
MemberinDlg.m_suILevelID.Append(uaID);
MemberinDlg.m_saILevelName.Append(saArray);
if(IDOK == MemberinDlg.DoModal()){
// refresh data
CStringArray saValue;
char value[256] = {0};
CString strValue;
saValue.Add(MemberinDlg.m_strName);
saValue.Add(MemberinDlg.m_strCardNo);
itoa(MemberinDlg.m_uSocietyID, value, 10);
saValue.Add(value);
itoa(MemberinDlg.m_uGenderID, value, 10);
saValue.Add(value);
saValue.Add(MemberinDlg.m_strAge);
itoa(MemberinDlg.m_uMarriageID, value, 10);
saValue.Add(value);
saValue.Add(MemberinDlg.m_strAddress);
saValue.Add(MemberinDlg.m_strTelphone);
saValue.Add(MemberinDlg.m_strCountry);
itoa(MemberinDlg.m_uILevelID, value, 10);
saValue.Add(value);
saValue.Add(MemberinDlg.m_strInitiative);
CTime time = CTime::GetCurrentTime();
strValue = time.Format("%Y-%m-%d");
saValue.Add(strValue);
InsertRow("会员", saValue);
}
}
void CADODemoView::OnMemberExit()
{
// TODO: Add your command handler code here
CMemberoutDlg MemberoutDlg;
if(IDOK == MemberoutDlg.DoModal()){
// refresh data
CString strValue = MemberoutDlg.m_strName;
CString strTableName(_T("会员"));
if(!DeleteRow(strTableName, _T("会员姓名"), strValue))
return;
}
}
void CADODemoView::OnSocietyDelete()
{
// TODO: Add your command handler code here
CSocietyDelDlg SocietyDelDlg;
if(IDOK == SocietyDelDlg.DoModal()){
// refresh data
CString strValue = SocietyDelDlg.m_strName;
CString strTableName(_T("社团"));
if(!DeleteRow(strTableName, _T("社团名称"), strValue))
return;
}
}
void CADODemoView::OnSocietyRegister()
{
// TODO: Add your command handler code here
CSocietyRegDlg SocietyRegDlg;
if(IDOK == SocietyRegDlg.DoModal()){
// refresh data
CStringArray saValue;
CString strValue;
saValue.Add(SocietyRegDlg.m_strName);
saValue.Add(SocietyRegDlg.m_Desc);
CTime time = CTime::GetCurrentTime();
strValue = time.Format("%Y-%m-%d");
saValue.Add(strValue);
saValue.Add(SocietyRegDlg.m_strChief);
InsertRow("社团", saValue);
}
}
void CADODemoView::OnExpenseRegister()
{
// TODO: Add your command handler code here
CUIntArray uaID;
CStringArray saArray;
CString strTableName;
CExpenRegDlg ExpenRegDlg;
strTableName = _T("社团");
if(!GetInfoArray(strTableName, uaID, saArray)) return;
ExpenRegDlg.m_suSocietyID.Append(uaID);
ExpenRegDlg.m_saSocietyName.Append(saArray);
if(IDOK == ExpenRegDlg.DoModal()){
// refresh data
CStringArray saValue;
char value[256] = {0};
CString strValue;
saValue.Add(ExpenRegDlg.m_strName);
itoa(ExpenRegDlg.m_uSocietyID, value, 10);
saValue.Add(value);
CTime time = CTime::GetCurrentTime();
strValue = time.Format("%Y-%m-%d");
saValue.Add(strValue);
saValue.Add(ExpenRegDlg.m_strMoney);
InsertRow("消费", saValue);
}
}
void CADODemoView::OnMemberQuery()
{
// TODO: Add your command handler code here
m_strCurTableName = _T("v_会员");
EraseList();
//
ULONG ulColCount=0;
if(!OpenCurRecordset(m_strCurTableName)) return;
if(!RefreshColumn(&ulColCount)) return;
if(0==ulColCount) return;
if(!RefreshData(ulColCount)) return;
}
void CADODemoView::OnSocietyQuery()
{
// TODO: Add your command handler code here
m_strCurTableName = _T("社团");
EraseList();
//
ULONG ulColCount=0;
if(!OpenCurRecordset(m_strCurTableName)) return;
if(!RefreshColumn(&ulColCount)) return;
if(0==ulColCount) return;
if(!RefreshData(ulColCount)) return;
}
void CADODemoView::OnExpenseStatics()
{
// TODO: Add your command handler code here
m_strCurTableName = _T("v_消费");
EraseList();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -