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

📄 editdatadlg.cpp

📁 本系统提供按地区划分的房屋信息查询和编辑功能
💻 CPP
字号:
// EditDataDlg.cpp : 实现文件
//

#include "stdafx.h"
#include "House.h"
#include "EditDataDlg.h"
#include ".\editdatadlg.h"


// CEditDataDlg 对话框

IMPLEMENT_DYNAMIC(CEditDataDlg, CDialog)
CEditDataDlg::CEditDataDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CEditDataDlg::IDD, pParent)
	, m_Name(_T(""))
	, m_Area(0)
	, m_Floor(0)
	, m_Price(0)
	, m_Num(0)
	, m_Dev(_T(""))
{
	m_pSet = NULL;
}

CEditDataDlg::~CEditDataDlg()
{
}

void CEditDataDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	DDX_Text(pDX, IDC_NAME, m_Name);
	DDX_Text(pDX, IDC_AREA2, m_Area);
	DDX_Text(pDX, IDC_FLOOR, m_Floor);
	DDX_Text(pDX, IDC_PRICE, m_Price);
	DDX_Text(pDX, IDC_NUM, m_Num);
	DDX_Text(pDX, IDC_DEV, m_Dev);
}


BEGIN_MESSAGE_MAP(CEditDataDlg, CDialog)
	ON_BN_CLICKED(ID_CHANGE, OnBnClickedChange)
	ON_BN_CLICKED(ID_ADD, OnBnClickedAdd)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
END_MESSAGE_MAP()


// CEditDataDlg 消息处理程序

// 设置当前记录
void CEditDataDlg::SetCurDate( CDaoRecordset * pSet, int col )
{
	m_pSet = pSet;
	if( col != -1 )
	{
		pSet->MoveFirst();
		pSet->Move(col);
		LoadAllData();
	}
}
// 读入所有记录
void CEditDataDlg::LoadAllData()
{
	if( m_pSet == NULL )
		return;
	COleVariant value;
	try
	{
		m_pSet->GetFieldValue("NAME",value);
		if( value.vt == VT_NULL )
			m_Name = "空";
		else
			m_Name.Format("%s", value.bstrVal);
		m_Name.Trim();
		// 面积
		m_pSet->GetFieldValue("AREA",value);
		if( value.vt == VT_NULL )
			m_Area = 0;
		else
			m_Area = value.dblVal;
		// 楼层
		m_pSet->GetFieldValue("FLOOR",value);
		if( value.vt == VT_NULL )
			m_Floor = 0;
		else
			m_Floor = value.dblVal;
		// 价格
		m_pSet->GetFieldValue("PRICE",value);
		if( value.vt == VT_NULL )
			m_Price = 0;
		else
			m_Price = value.dblVal;
		// 数量
		m_pSet->GetFieldValue("NUM",value);
		if( value.vt == VT_NULL )
			m_Num = 0;
		else
			m_Num = value.dblVal;
		// 开发商
		m_pSet->GetFieldValue("DEVELOPER",value );
		if( value.vt == VT_NULL )
			m_Dev = "";
		else
			m_Dev.Format("%s",value.bstrVal);
		m_Dev.Trim();
	}
	catch(CDaoException* e)
	{
		MessageBox(e->m_pErrorInfo->m_strDescription);
		return;
	}
}
// 修改
void CEditDataDlg::OnBnClickedChange()
{
	if( UpdateData() == false )
		return;
	try
	{
		m_pSet->Edit();
		m_pSet->SetFieldValue("NAME",m_Name.GetBuffer());
		m_pSet->SetFieldValue("AREA",(COleVariant)m_Area);
		m_pSet->SetFieldValue("FLOOR",(COleVariant)(float)m_Floor);
		m_pSet->SetFieldValue("PRICE",(COleVariant)m_Price);
		m_pSet->SetFieldValue("NUM",(COleVariant)(float)m_Num);
		m_pSet->SetFieldValue("DEVELOPER",m_Dev.GetBuffer());
		m_pSet->Update();
	}
	catch(CDaoException* e)
	{
		MessageBox(e->m_pErrorInfo->m_strDescription);
		return;
	}
}

void CEditDataDlg::OnBnClickedAdd()
{
	if( UpdateData() == false )
		return;
	try
	{
//		m_pSet->Edit();
		m_pSet->AddNew();
		m_pSet->SetFieldValue("NAME",m_Name.GetBuffer());
		m_pSet->SetFieldValue("AREA",(COleVariant)m_Area);
		m_pSet->SetFieldValue("FLOOR",(COleVariant)(float)m_Floor);
		m_pSet->SetFieldValue("PRICE",(COleVariant)m_Price);
		m_pSet->SetFieldValue("NUM",(COleVariant)(float)m_Num);
		m_pSet->SetFieldValue("DEVELOPER",m_Dev.GetBuffer());
		m_pSet->Update();
	}
	catch(CDaoException* e)
	{
		MessageBox(e->m_pErrorInfo->m_strDescription);
		return;
	}
}

void CEditDataDlg::OnBnClickedOk()
{
	try
	{
		m_pSet->Delete();
	}
	catch(CDaoException* e)
	{
		MessageBox(e->m_pErrorInfo->m_strDescription);
		return;
	}
	OnOK();
}

⌨️ 快捷键说明

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