📄 infodlg.cpp
字号:
// InfoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "info.h"
#include "InfoDlg.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInfoDlg dialog
CInfoDlg::CInfoDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInfoDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CInfoDlg)
m_dDate = COleDateTime::GetCurrentTime();
m_strDepartment = _T("");
m_nID = 0;
m_lMoney = 0;
m_strName = _T("");
m_strTelNum = _T("");
//}}AFX_DATA_INIT
}
void CInfoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInfoDlg)
DDX_Control(pDX, IDC_LISTCTRL, m_ctrlList1);
DDX_Control(pDX, IDC_LISTBOX, m_ctrlList);
DDX_Control(pDX, IDC_TELNUM, m_ctrlTelNum);
DDX_Control(pDX, IDC_MONEY, m_ctrlMoney);
DDX_Control(pDX, IDC_DEPARTMENT, m_ctrlDepartment);
DDX_Control(pDX, IDC_DATE, m_ctrlDate);
DDX_Control(pDX, IDC_NAME, m_ctrlName);
DDX_Text(pDX, IDC_DATE, m_dDate);
DDX_Text(pDX, IDC_DEPARTMENT, m_strDepartment);
DDX_Text(pDX, IDC_ID, m_nID);
DDX_Text(pDX, IDC_MONEY, m_lMoney);
DDX_Text(pDX, IDC_NAME, m_strName);
DDX_Text(pDX, IDC_TELNUM, m_strTelNum);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CInfoDlg, CDialog)
//{{AFX_MSG_MAP(CInfoDlg)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_DEL, OnDel)
ON_BN_CLICKED(IDC_QUERY, OnQuery)
ON_BN_CLICKED(IDC_MODIFY, OnModify)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInfoDlg message handlers
BOOL CInfoDlg::OpenRecordSet(_RecordsetPtr &recPtr, CString &strSQL)
{
CInfoApp* pApp=(CInfoApp*)AfxGetApp();
recPtr.CreateInstance(_uuidof(Recordset));
try
{
recPtr->Open(strSQL.AllocSysString(),pApp->m_pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch (_com_error e)
{
CString strError;
strError.Format("警告:打开数据表时发生异常。错误信息:%s",e.ErrorMessage());
AfxMessageBox(strError);
return FALSE;
}
return TRUE;
}
void CInfoDlg::OnAdd()
{
// TODO: Add your control notification handler code here
m_ctrlName.EnableWindow(TRUE);
m_ctrlDepartment.EnableWindow(TRUE);
m_ctrlDate.EnableWindow(TRUE);
m_ctrlMoney.EnableWindow(TRUE);
m_ctrlTelNum.EnableWindow(TRUE);
CString strSQL;
UpdateData(TRUE);
if(m_nID==0)
{
AfxMessageBox("职工ID不可以为空!");
return;
}
strSQL="select * from info";
if(!OpenRecordSet(m_pRecordset,strSQL))
{
AfxMessageBox("打开数据表不成功!");
return;
}
try
{
m_pRecordset->AddNew();
CString str;
str.Format("%d",m_nID);
m_pRecordset->PutCollect("职员ID",_variant_t(str));
m_pRecordset->PutCollect("姓名",_variant_t(m_strName));
m_pRecordset->PutCollect("部门",_variant_t(m_strDepartment));
m_pRecordset->PutCollect("录用日期",_variant_t(m_dDate));
str.Format("%d",m_lMoney);
m_pRecordset->PutCollect("信贷限额",_variant_t(str));
m_pRecordset->PutCollect("电话号码",_variant_t(m_strTelNum));
m_pRecordset->Update();
m_pRecordset->MoveLast();
}
catch(_com_error e)
{
CString strError;
strError.Format("警告:插入信息时发生异常。错误信息:%s",e.ErrorMessage());
AfxMessageBox(strError);
}
m_pRecordset->Close();
m_pRecordset=NULL;
AfxMessageBox("插入信息成功!");
CMainFrame* pMainFrm=(CMainFrame*)AfxGetMainWnd();
}
void CInfoDlg::OnDel()
{
// TODO: Add your control notification handler code here
m_ctrlName.EnableWindow(FALSE);
m_ctrlDepartment.EnableWindow(FALSE);
m_ctrlDate.EnableWindow(FALSE);
m_ctrlMoney.EnableWindow(FALSE);
m_ctrlTelNum.EnableWindow(FALSE);
CString strID;
UpdateData(TRUE);
strID.Format("是否删除职工ID为:%d的个人信息?",m_nID);
if(MessageBox(strID,"删除确认",MB_YESNO|MB_ICONQUESTION)==IDNO)
{
return;
}
CString strSQL;
strSQL.Format("select * from info where 职员ID=%d",m_nID);
if(!OpenRecordSet(m_pRecordset,strSQL))
{
AfxMessageBox("打开数据表不成功!");
return;
}
m_pRecordset->Delete(adAffectCurrent);
m_pRecordset->Close();
m_pRecordset=NULL;
AfxMessageBox("删除成功!");
}
void CInfoDlg::OnQuery()
{
// TODO: Add your control notification handler code here
CString strSQL;
UpdateData(TRUE);
strSQL.Format("select * from info where 职员ID=%d",m_nID,m_strName);
if(!OpenRecordSet(m_pRecordset,strSQL))
{
AfxMessageBox("打开数据表不成功!");
return;
}
if(!m_pRecordset->BOF)
{
m_pRecordset->MoveFirst();
}
int i=0;
if(!m_pRecordset->adoEOF)
{
_variant_t varvlue;
CString str;
m_ctrlList1.InsertItem(0,"职员ID");
m_ctrlList1.InsertItem(1,"姓名");
varvlue=m_pRecordset->GetFields()->GetItem("职员ID")->Value;
str=(LPCTSTR)(_bstr_t)varvlue;
//str=vartostr(varvlue);
m_ctrlList1.SetItemText(i,0,str);
varvlue=m_pRecordset->GetFields()->GetItem("姓名")->Value;
str=(LPCTSTR)(_bstr_t)varvlue;
m_ctrlList1.SetItemText(i,1,str);
}
m_pRecordset->Close();
m_pRecordset=NULL;
}
void CInfoDlg::OnModify()
{
// TODO: Add your control notification handler code here
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -