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

📄 custinfodlg.cpp

📁 用VC实现的一个简单的旅行预订系统
💻 CPP
字号:
// CustInfoDlg.cpp : implementation file
//

#include "stdafx.h"
#include "TRS.h"
#include "CustInfoDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CCustInfoDlg dialog


CCustInfoDlg::CCustInfoDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CCustInfoDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CCustInfoDlg)
	m_strCustName = _T("");
	//}}AFX_DATA_INIT
}


void CCustInfoDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CCustInfoDlg)
	DDX_Control(pDX, IDC_LIST_CUST, m_listCustInfo);
	DDX_Text(pDX, IDC_EDIT_CUST_CUSTNAME, m_strCustName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CCustInfoDlg, CDialog)
	//{{AFX_MSG_MAP(CCustInfoDlg)
	ON_BN_CLICKED(ID_BTN_CUST_QUERY, OnBtnCustQuery)
	ON_BN_CLICKED(ID_BTN_CUST_ADD, OnBtnCustAdd)
	ON_NOTIFY(NM_CLICK, IDC_LIST_CUST, OnClickListCust)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCustInfoDlg message handlers
void CCustInfoDlg::OnBtnCustAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData();

	if( m_strCustName.IsEmpty() )
	{
		MessageBox("客户名不能为空!",MB_OK);
		return;
	}

	((CTRSApp*)AfxGetApp())->db.ExecuteSQL("insert into CUSTOMERS(custName)\
		values('" + m_strCustName + "')");

	RefreshData();
}

void CCustInfoDlg::OnBtnCustQuery()
{
	// TODO: Add your control notification handler code here
	int i = m_listCustInfo.GetSelectionMark();

	UpdateData();

	if( i == -1 )
	{
		MessageBox("请选择一条记录!");
		return;
	}
	else		//修改选中的记录
	{	
		((CTRSApp*)AfxGetApp())->db.ExecuteSQL("update CUSTOMERS\
			set custName = '" + m_strCustName + 
			"'where custName = '" + m_oldCustName + "'");
	}
	RefreshData();
}

void CCustInfoDlg::RefreshData()
{
	int i=0;
	CString custName;
	
	m_listCustInfo.DeleteAllItems();
	CRecordset rs(&(((CTRSApp*)AfxGetApp())->db));
	rs.Open(CRecordset::forwardOnly,"select * from CUSTOMERS");

	while( !rs.IsEOF() )
	{
		rs.GetFieldValue("custName",custName);
		m_listCustInfo.InsertItem(i,custName);
		rs.MoveNext();
		i++;
	}
	rs.Close();
}



BOOL CCustInfoDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_listCustInfo.InsertColumn(0,"客户名");
	RECT rect;
	m_listCustInfo.GetWindowRect(&rect);
	int rectWidth = rect.right - rect.left;
	m_listCustInfo.SetColumnWidth(0,rectWidth);
	m_listCustInfo.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	RefreshData();
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CCustInfoDlg::OnClickListCust(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int i = m_listCustInfo.GetSelectionMark();

	if( i == -1 )
	{
		MessageBox("请选择一条记录!");
		return;
	}
	else		//选中的记录出现在编辑框中
	{
		m_listCustInfo.SetHotItem(i);//选中的行高亮
		m_strCustName = m_listCustInfo.GetItemText(i,0);
		m_oldCustName = m_strCustName;
		UpdateData(false);
	}
	*pResult = 0;
}

⌨️ 快捷键说明

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