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

📄 projectview.cpp

📁 赛克思书店销售管理系统.可用于二次开发,以C++与sql 写.
💻 CPP
字号:
// ProjectView.cpp : implementation of the CProjectView class
//

#include "stdafx.h"
#include "Project.h"

#include "ProjectDoc.h"
#include "ProjectView.h"
#include "MyDlgBar.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CProjectView

IMPLEMENT_DYNCREATE(CProjectView, CListView)

BEGIN_MESSAGE_MAP(CProjectView, CListView)
	//{{AFX_MSG_MAP(CProjectView)
	ON_COMMAND(ID_LINK_BOOK, OnLinkBook)
	ON_COMMAND(ID_LINK_EMP, OnLinkEmp)
	ON_COMMAND(ID_LINK_VIP, OnLinkVip)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CProjectView construction/destruction

CProjectView::CProjectView()
{
	ListCtrl = 0;
}

CProjectView::~CProjectView()
{
}

BOOL CProjectView::PreCreateWindow(CREATESTRUCT& cs)
{
	if (!CListView::PreCreateWindow (cs))
		return FALSE;
	
    cs.style &= ~LVS_TYPEMASK;
    cs.style |= LVS_REPORT|LVS_NOSORTHEADER;
	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CProjectView drawing

void CProjectView::OnDraw(CDC* pDC)
{
	CProjectDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
}

void CProjectView::OnInitialUpdate()
{
	CListView::OnInitialUpdate();

	CProjectApp *p=(CProjectApp *)AfxGetApp();
	pConn = p->pConn;
	
	GetListCtrl ().SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
	GetListCtrl ().SetBkColor(RGB(255,255,255));

	OnLinkBook();
}
/////////////////////////////////////////////////////////////////////////////
// CProjectView diagnostics
#ifdef _DEBUG
void CProjectView::AssertValid() const
{
	CListView::AssertValid();
}

void CProjectView::Dump(CDumpContext& dc) const
{
	CListView::Dump(dc);
}

CProjectDoc* CProjectView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CProjectDoc)));
	return (CProjectDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CProjectView message handlers

void CProjectView::OnLinkBook() 
{
	CString _sql;
	_sql = "select * from sell where trunc(selltime)=trunc(sysdate)";
	_bstr_t sql = _sql;
	try
	{
		pRst = pConn->Execute(sql,NULL,adCmdText);
		
		GetListCtrl ().DeleteAllItems();
		for(int i = 9;i >= 0;i--)
			GetListCtrl ().DeleteColumn(i);
		
		GetListCtrl ().InsertColumn (0, _T ("出售日期"), LVCFMT_CENTER, 160);
		GetListCtrl ().InsertColumn (1, _T ("ISBN"), LVCFMT_CENTER, 100);
		GetListCtrl ().InsertColumn (2, _T ("书名"), LVCFMT_CENTER, 120);
		GetListCtrl ().InsertColumn (3, _T ("作者"), LVCFMT_CENTER, 90);
		GetListCtrl ().InsertColumn (4, _T ("类别"), LVCFMT_CENTER, 80);
		GetListCtrl ().InsertColumn (6, _T ("出售价格"), LVCFMT_CENTER, 60);
		GetListCtrl ().InsertColumn (7, _T ("折扣"), LVCFMT_CENTER, 60);
		GetListCtrl ().InsertColumn (8, _T ("数量"), LVCFMT_CENTER, 60);
		GetListCtrl ().InsertColumn (9, _T ("操作员"), LVCFMT_CENTER, 60);
		
		while(!pRst->End)
		{
			_variant_t vSELLTIME = pRst->Fields->GetItem(long(0))->Value;
			_variant_t vISBN = pRst->Fields->GetItem(long(1))->Value;
			_variant_t vSELLNAME = pRst->Fields->GetItem(long(2))->Value;
			_variant_t vSELLNUM = pRst->Fields->GetItem(long(3))->Value;
			_variant_t vSELLPRICE = pRst->Fields->GetItem(long(4))->Value;
			_variant_t vDISCOUNT = pRst->Fields->GetItem(long(5))->Value;
			_variant_t vEMPID = pRst->Fields->GetItem(long(6))->Value;
			_variant_t vSELLAUTHOR = pRst->Fields->GetItem(long(7))->Value;
			_variant_t vCLASS = pRst->Fields->GetItem(long(8))->Value;
			
			CString selltime = (char *)_bstr_t(vSELLTIME);
			CString sellisbn = (char *)_bstr_t(vISBN);
			CString sellname = (char *)_bstr_t(vSELLNAME);
			CString sellnum = (char *)_bstr_t(vSELLNUM);
			CString sellprice = (char *)_bstr_t(vSELLPRICE);
			CString selldiscount;
			if(vDISCOUNT.vt == VT_NULL)
				selldiscount = "无";
			else
				selldiscount = (char *)_bstr_t(vDISCOUNT);
			CString sellempid = (char *)_bstr_t(vEMPID);
			CString sellauthor = (char *)_bstr_t(vSELLAUTHOR);
			CString sellclass = (char *)_bstr_t(vCLASS);
			
			GetListCtrl ().InsertItem(0,selltime);
			GetListCtrl ().SetItemText(0,1,sellisbn);
			GetListCtrl ().SetItemText(0,2,sellname);
			GetListCtrl ().SetItemText(0,3,sellauthor);
			GetListCtrl ().SetItemText(0,4,sellclass);
			GetListCtrl ().SetItemText(0,5,sellprice);
			GetListCtrl ().SetItemText(0,6,selldiscount);
			GetListCtrl ().SetItemText(0,7,sellnum);
			GetListCtrl ().SetItemText(0,8,sellempid);

			pRst->MoveNext();
		}
		pRst->Close();
		pRst.Release();
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.Description());
	}
}

void CProjectView::OnLinkEmp() 
{
	CString _sql;
	_sql = "select * from emp";
	_bstr_t sql = _sql;
	try
	{
		pRst = pConn->Execute(sql,NULL,adCmdText);
		
		GetListCtrl ().DeleteAllItems();
		for(int i = 9;i >= 0;i--)
			GetListCtrl ().DeleteColumn(i);
		
		GetListCtrl ().InsertColumn (0, _T ("员工号"), LVCFMT_CENTER, 80);
		GetListCtrl ().InsertColumn (1, _T ("姓名"), LVCFMT_CENTER, 80);
		GetListCtrl ().InsertColumn	(2, _T ("性别"), LVCFMT_CENTER, 70);
		GetListCtrl ().InsertColumn (3, _T ("年龄"), LVCFMT_CENTER, 70);
		GetListCtrl ().InsertColumn (4, _T ("身份证"), LVCFMT_CENTER, 130);
		GetListCtrl ().InsertColumn (5, _T ("住址"), LVCFMT_CENTER, 130);
		GetListCtrl ().InsertColumn (6, _T ("联系电话"), LVCFMT_CENTER, 120);
		GetListCtrl ().InsertColumn (7, _T ("电子邮件"), LVCFMT_CENTER, 120);
		GetListCtrl ().InsertColumn (8, _T ("登记日期"), LVCFMT_CENTER, 120);
		
		while(!pRst->End)
		{
			_variant_t vEMPNO = pRst->Fields->GetItem(long(0))->Value;
			_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value;
			_variant_t vGENDER = pRst->Fields->GetItem(long(2))->Value;
			_variant_t vAGE = pRst->Fields->GetItem(long(3))->Value;
			_variant_t vID = pRst->Fields->GetItem(long(4))->Value;
			_variant_t vADDRESS = pRst->Fields->GetItem(long(5))->Value;
			_variant_t vTELE = pRst->Fields->GetItem(long(6))->Value;
			_variant_t vEMAIL = pRst->Fields->GetItem(long(7))->Value;
			_variant_t vREGDATE = pRst->Fields->GetItem(long(8))->Value;
			
			CString vipno = (char *)_bstr_t(vEMPNO);
			CString name = (char *)_bstr_t(vNAME);
			CString gender;
			if(vGENDER.iVal == 0)
				gender = "男";
			else
				gender = "女";
			CString age = (char *)_bstr_t(vAGE);

			CString id;
			if(vID.vt == VT_NULL)
				id = "无";
			else
				id = (char *)_bstr_t(vID);

			CString regdate = (char *)_bstr_t(vADDRESS);

			CString tele;
			if(vTELE.vt == VT_NULL)
				tele = "无";
			else
				tele = (char *)_bstr_t(vTELE);

			CString com;
			if(vEMAIL.vt == VT_NULL)
				com = "无";
			else
				com = (char *)_bstr_t(vEMAIL);

			CString consume;
			if(vREGDATE.vt == VT_NULL)
				consume = "无";
			else
				consume = (char *)_bstr_t(vREGDATE);
			
			GetListCtrl ().InsertItem(0,vipno);
			GetListCtrl ().SetItemText(0,1,name);
			GetListCtrl ().SetItemText(0,2,gender);
			GetListCtrl ().SetItemText(0,3,age);
			GetListCtrl ().SetItemText(0,4,id);
			GetListCtrl ().SetItemText(0,5,regdate);
			GetListCtrl ().SetItemText(0,6,tele);
			GetListCtrl ().SetItemText(0,7,com);
			GetListCtrl ().SetItemText(0,8,consume);

			pRst->MoveNext();
		}
		pRst->Close();
		pRst.Release();
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.Description());
	}

}

void CProjectView::OnLinkVip() 
{			   
	CString _sql;
	_sql = "select * from vip";
	_bstr_t sql = _sql;
	try
	{
		pRst = pConn->Execute(sql,NULL,adCmdText);
		
		GetListCtrl ().DeleteAllItems();
		for(int i = 9;i >= 0;i--)
			GetListCtrl ().DeleteColumn(i);
		
		GetListCtrl ().InsertColumn(0,_T("会员代号"),LVCFMT_CENTER,80);
		GetListCtrl ().InsertColumn(1,_T("姓名"),LVCFMT_CENTER,80);
		GetListCtrl ().InsertColumn(2,_T("性别"),LVCFMT_CENTER,60);
		GetListCtrl ().InsertColumn(3,_T("年龄"),LVCFMT_CENTER,60);
		GetListCtrl ().InsertColumn(4,_T("身份证"),LVCFMT_CENTER,130);
		GetListCtrl ().InsertColumn(5,_T("登记日期"),LVCFMT_CENTER,140);
		GetListCtrl ().InsertColumn(6,_T("电话"),LVCFMT_CENTER,100);
		GetListCtrl ().InsertColumn(7,_T("工作单位"),LVCFMT_CENTER,100);
		GetListCtrl ().InsertColumn(8,_T("消费额"),LVCFMT_CENTER,100);
		
		while(!pRst->End)
		{
			_variant_t vVIPNO = pRst->Fields->GetItem(long(0))->Value;
			_variant_t vNAME = pRst->Fields->GetItem(long(1))->Value;
			_variant_t vGENDER = pRst->Fields->GetItem(long(2))->Value;
			_variant_t vAGE = pRst->Fields->GetItem(long(4))->Value;
			_variant_t vID = pRst->Fields->GetItem(long(3))->Value;
			_variant_t vREGDATE = pRst->Fields->GetItem(long(6))->Value;
			_variant_t vTELE = pRst->Fields->GetItem(long(5))->Value;
			_variant_t vCOM = pRst->Fields->GetItem(long(7))->Value;
			_variant_t vCONSUME = pRst->Fields->GetItem(long(8))->Value;
			
			CString vipno = (char *)_bstr_t(vVIPNO);
			CString name = (char *)_bstr_t(vNAME);
			
			CString gender;
			if(vGENDER.iVal == 0)
				gender = "男";
			else
				gender = "女";

			CString age = (char *)_bstr_t(vAGE);

			CString id;
			if(vID.vt == VT_NULL)
				id = "0";
			else
				id = (char *)_bstr_t(vID);

			CString regdate = (char *)_bstr_t(vREGDATE);

			CString tele;
			if(vTELE.vt == VT_NULL)
				tele = "0";
			else
				tele = (char *)_bstr_t(vTELE);

			CString com;
			if(vCOM.vt == VT_NULL)
				com = "无";
			else
				com = (char *)_bstr_t(vCOM);

			CString consume;
			if(vCONSUME.vt == VT_NULL)
				consume = "无";
			else
				consume = (char *)_bstr_t(vCONSUME);
			
			GetListCtrl ().InsertItem(0,vipno);
			GetListCtrl ().SetItemText(0,1,name);
			GetListCtrl ().SetItemText(0,2,gender);
			GetListCtrl ().SetItemText(0,3,age);
			GetListCtrl ().SetItemText(0,4,id);
			GetListCtrl ().SetItemText(0,5,regdate);
			GetListCtrl ().SetItemText(0,6,tele);
			GetListCtrl ().SetItemText(0,7,com);
			GetListCtrl ().SetItemText(0,8,consume);

			pRst->MoveNext();
		}
		pRst->Close();
		pRst.Release();
	}
	catch(_com_error &e)
	{
		AfxMessageBox(e.Description());
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -