📄 carmview.cpp
字号:
// carmView.cpp : CcarmView 类的实现
//
#include "stdafx.h"
#include "carm.h"
#include "carmDoc.h"
#include "carmView.h"
#include ".\carmview.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
/*#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>*/
#include "SEARCHCLT.h"//查询客户
#include "Wizard.h"//添加交易信息
#include "Step1.h"
#include "Step2.h"
#include "CarInfoDlg.h"//添加车子信息
#include "SearchCarDlg.h"//查询车子
#include "ModifyCarDlg.h"//修改车子资料
#include "Wizard2.h"
#include "MClientDlg1.h"
#include "MClientDlg2.h"
#include "PurchaseCarDlg.h"//购车
// CcarmView
IMPLEMENT_DYNCREATE(CcarmView, CFormView)
BEGIN_MESSAGE_MAP(CcarmView, CFormView)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnLvnItemchangedList2)
ON_COMMAND(ID_SEARCH, OnSearch)
ON_COMMAND(ID_CLIENTINFO, OnClientinfo)
ON_COMMAND(ID_CARINFO, OnCarinfo)
ON_COMMAND(ID_SRHCAR, OnSrhcar)
ON_COMMAND(ID_MODIFYCAR, OnModifycar)
ON_COMMAND(ID_MODIFYCLIENT, OnModifyclient)
ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedButton1)
END_MESSAGE_MAP()
// CcarmView 构造/析构
CcarmView::CcarmView()
: CFormView(CcarmView::IDD)
{
// TODO: 在此处添加构造代码
}
CcarmView::~CcarmView()
{
}
void CcarmView::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
DDX_Control(pDX, IDC_LIST2, L_result);
}
BOOL CcarmView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: 在此处通过修改 CREATESTRUCT cs 来修改窗口类或
// 样式
return CFormView::PreCreateWindow(cs);
}
void CcarmView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}
// CcarmView 诊断
#ifdef _DEBUG
void CcarmView::AssertValid() const
{
CFormView::AssertValid();
}
void CcarmView::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CcarmDoc* CcarmView::GetDocument() const // 非调试版本是内联的
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CcarmDoc)));
return (CcarmDoc*)m_pDocument;
}
#endif //_DEBUG
// CcarmView 消息处理程序
void CcarmView::OnLvnItemchangedList2(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// TODO: 在此添加控件通知处理程序代码
*pResult = 0;
}
void CcarmView::OnSearch()
{
static CSEARCHCLT SrhCltDlg;
if(SrhCltDlg.DoModal() == IDOK)
{
CString sql = "select * " ;
if((SrhCltDlg.m_schtype == "")||(SrhCltDlg.m_schname == ""))
sql += "from 客户";
else
{
sql += "from 客户 where " ;
sql += SrhCltDlg.m_schtype ;
sql += " = '" ;
sql += SrhCltDlg.m_schname;
sql += "'";
}
_RecordsetPtr pRst = g_ADOConn.GetRecordSet((_bstr_t)sql);
DataFormat(pRst);
}
else return;
}
void CcarmView::DataFormat(_RecordsetPtr& pRst)
{
long limit = pRst->GetFields()->Count;
if(pRst->adoEOF)
{
::AfxMessageBox("未找到相符的项");
return;
}
if(L_result.GetItemCount() != 0)
{
L_result.DeleteAllItems();
for(long x = 0;x < inum;x++)
{
L_result.DeleteColumn(0);
}
}
for (long x = 0; x < limit; x++)
{
L_result.InsertColumn(x,(char *) pRst->GetFields()->Item[x]->Name,LVCFMT_LEFT,100,-1);
}
int i = 0;
while(!pRst->adoEOF)
{
L_result.InsertItem(i,"");
for(long x = 0;x < limit;x++)
{
_variant_t var = pRst->GetCollect(_variant_t(long(x)));
CString str = "";
if(var.vt != VT_NULL)
str = STR(var);
L_result.SetItemText(i,x,str);
}
pRst->MoveNext();
i++;
}
inum = limit;
}
void CcarmView::OnClientinfo()
{
CWizard MyWizard(_T("添加客户 "),this,1); //生成一个属性表
CStep1 MyStep1; //属性页1
CStep2 MyStep2; //属性页2
MyWizard.AddPage(&MyStep1); //添加属性页1
MyWizard.AddPage(&MyStep2); //添加属性页2
MyWizard.SetWizardMode(); //将属性表设置成向导样式
MyWizard.SetActivePage(&MyStep1); //设置第一页为第一步
if(MyWizard.DoModal() == ID_WIZFINISH)//显示属性表
{
if(MyStep1.m_ecltnum == "")
return;
CString str = "insert into 客户 values('";
str += MyStep1.m_ecltnum;
str += "','";
str += MyStep1.m_ename;
str += "','";
if(!MyStep1.m_iSex)
str += "男','";
else str += "女','";
str += MyStep1.m_eid;
str += "','";
str += MyStep1.m_eaddr;
str += "','";
str += MyStep1.m_etel;
str += "')";
g_ADOConn.ExecuteSQL(_bstr_t(str));
if(!MyStep2.m_purchase)
return;
str = "insert into 交易 values('";
str += MyStep1.m_ecltnum;
str += "','";
str += MyStep2.m_carID;
str += "','";
str += MyStep2.m_carnum;
str += "',";
if(MyStep2.m_payf == "")
str += "0";
else
str += MyStep2.m_payf;
str += ",";
if(MyStep2.m_loan == "")
str += "0";
else
str += MyStep2.m_loan;
str += ",'";
str += MyStep2.m_ryear;
if(MyStep2.m_rmonth.GetLength() == 1)
str += "0"+MyStep2.m_rmonth;
else
str += MyStep2.m_rmonth;
if(MyStep2.m_rday.GetLength() == 1)
str += "0"+MyStep2.m_rday;
else
str += MyStep2.m_rday;
str += "',";
if(MyStep2.m_rmmoney == "")
str += "0";
else
str += MyStep2.m_rmmoney;
str += ",'";
if(MyStep2.m_rmday.GetLength() == 1)
str += "1999100"+MyStep2.m_rmday;
else
str += "199910"+MyStep2.m_rmday;
str += "',";
if(MyStep2.m_insure == "")
str += "0";
else
str += MyStep2.m_insure;
str += ",'";
str += MyStep2.m_insurey;
if(MyStep2.m_insurem.GetLength() == 1)
str += "0"+MyStep2.m_insurem;
else
str += MyStep2.m_insurem;
if(MyStep2.m_insurey.GetLength() == 1)
str += "0"+MyStep2.m_insured;
else
str += MyStep2.m_insured;
str += "','";
str += MyStep2.m_bank;
str += "','";
str += MyStep2.m_searcher;
str += "')";
g_ADOConn.ExecuteSQL(_bstr_t(str));
str = "update 车 set 库存 = '0' where 车编号 = '";
str += MyStep2.m_carID;
str += "'";
g_ADOConn.ExecuteSQL(_bstr_t(str));
}
else return;
}
void CcarmView::OnCarinfo()
{
CCarInfoDlg CarInfo;
if(CarInfo.DoModal() == IDOK)
{
if(CarInfo.m_carID == "")
return;
CString sql = "insert into 车 values('";
sql += CarInfo.m_carID;
sql += "','";
sql += CarInfo.m_brand;
sql +="','";
sql += CarInfo.m_model;
sql +="','";
sql += CarInfo.m_price;
sql +="',1)";
g_ADOConn.ExecuteSQL(_bstr_t(sql));
}
else return;
}
void CcarmView::OnSrhcar()
{
static CSearchCarDlg SrhCarDlg;
if(SrhCarDlg.DoModal() == IDOK)
{
CString sql = "select * " ;
if((SrhCarDlg.m_cartype == "")||(SrhCarDlg.m_car == ""))
sql += "from 车";
else
{
sql += "from 客户 where " ;
sql += SrhCarDlg.m_cartype ;
sql += " = '" ;
sql += SrhCarDlg.m_car;
sql += "'";
}
_RecordsetPtr pRst = g_ADOConn.GetRecordSet((_bstr_t)sql);
DataFormat(pRst);
}
else return;
}
void CcarmView::OnModifycar()
{
CModifyCarDlg ModifyCar;
if(ModifyCar.DoModal() == IDOK)
{
CString sql = "update 车 set 品牌 = '";
sql += ModifyCar.m_brand;
sql += "', 型号 = '";
sql += ModifyCar.m_model;
sql += "', 车价 = ";
sql += ModifyCar.m_price;
sql += " where 车编号 = '";
sql += ModifyCar.m_combosrh;
sql += "'";
g_ADOConn.ExecuteSQL((_bstr_t)sql);
}
else
return;
}
void CcarmView::OnModifyclient()
{
CWizard2 MyWizard(_T("添加客户 "),this,1); //生成一个属性表
CMClientDlg1 MyStep1; //属性页1
CMClientDlg2 MyStep2; //属性页2
MyWizard.AddPage(&MyStep1); //添加属性页1
MyWizard.AddPage(&MyStep2); //添加属性页2
MyWizard.SetWizardMode(); //将属性表设置成向导样式
MyWizard.SetActivePage(&MyStep1); //设置第一页为第一步
if(MyWizard.DoModal() == ID_WIZFINISH)//显示属性表
{
CString sql = "update 客户 set 姓名 = '";
sql += MyStep1.m_cilentname;
if(MyStep1.m_sex == 0)
sql += "',性别 = '男'";
else
sql += "',性别 = '女'";
sql += ",身份证 = '";
sql += MyStep1.m_clientID;
sql += "',地址 = '";
sql += MyStep1.m_addr;
sql += "',联系电话 = '";
sql += MyStep1.m_tel;
sql += "' where 客户编号 = '";
sql += MyStep1.m_clientnum;
sql += "'";
g_ADOConn.ExecuteSQL((_bstr_t)sql);
}
else return;
}
void CcarmView::OnBnClickedButton1()
{
int i = GetSelectItem(&L_result);
if(i == -1)
{
::AfxMessageBox("请选择要查询的项");
return;
}
CString s = L_result.GetItemText(i,0);
CString sql = "select * from 交易 where 客户编号 = '";
sql += s + "'";
_RecordsetPtr pRst = g_ADOConn.GetRecordSet((_bstr_t)sql);
DataFormat(pRst);
}
int CcarmView::GetSelectItem(CListCtrl *m_List)
{
for(int n=0; n<m_List->GetItemCount(); n++)
{
UINT state = m_List->GetItemState( n, LVIS_SELECTED);
if(state == LVIS_SELECTED )
return n;
}
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -