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

📄 adodemoview.cpp

📁 ADO&VC&SQL的例子
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// 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 + -