📄 rtypedlg.cpp
字号:
// RtypeDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyLib.h"
#include "RtypeDlg.h"
#include "EditDlg.h"
#include "DeleteDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CRtypeDlg dialog
CRtypeDlg::CRtypeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CRtypeDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CRtypeDlg)
m_FTYPE = _T("");
m_TYPE = _T("");
m_SUM = 0;
//}}AFX_DATA_INIT
}
void CRtypeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CRtypeDlg)
DDX_Text(pDX, IDC_FTYPE, m_FTYPE);
DDV_MaxChars(pDX, m_FTYPE, 20);
DDX_Text(pDX, IDC_TYPE, m_TYPE);
DDV_MaxChars(pDX, m_TYPE, 20);
DDX_Text(pDX, IDC_SUM, m_SUM);
DDV_MinMaxInt(pDX, m_SUM, 0, 99);
DDX_Control(pDX, IDC_LIST1, m_List);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CRtypeDlg, CDialog)
//{{AFX_MSG_MAP(CRtypeDlg)
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_EDIT, OnEdit)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
ON_BN_CLICKED(IDC_EXIT, OnExit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CRtypeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_List.InsertColumn(0,"类型");
m_List.InsertColumn(1,"可借册数");
RECT rect;
m_List.GetWindowRect(&rect);
int wid=rect.right-rect.left;
m_List.SetColumnWidth(0,wid/2);
m_List.SetColumnWidth(1,wid/2);
m_List.SetExtendedStyle(LVS_EX_FULLROWSELECT);
return TRUE;
}
/////////////////////////////////////////////////////////////////////////////
// CRtypeDlg message handlers
bool CRtypeDlg::DisplayRecord()
{
UpdateData(true);
int i=0;
while(!rtypeset.IsEOF())
{
m_TYPE = rtypeset.m_TYPE;
m_SUM = rtypeset.m_SUM;
char s[3];
if(m_SUM>=10)
{
s[1] = '0'+m_SUM%10;
s[0] = '0'+m_SUM/10;
s[2] = '\0';
}
else
{
s[0] = '0'+m_SUM%10;
s[1] = '\0';
s[2] = '\0';
}
m_List.InsertItem(i,m_TYPE);
m_List.SetItemText(i,1,s);
rtypeset.MoveNext();
i++;
}
UpdateData(false);
return true;
}
void CRtypeDlg::OnFind()
{
m_List.DeleteAllItems();
UpdateData(TRUE);
CString sqlstr = "SELECT * FROM READERTYPE WHERE TYPE='";
sqlstr += m_FTYPE;
sqlstr += "'";
if(rtypeset.IsOpen())
{
rtypeset.Close();
}
if(!rtypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者类型表打开失败!");
return;
}
if(!rtypeset.IsEOF())
{
DisplayRecord();
rtypeset.Close();
}
else
{
MessageBox("该类型不存在!");
rtypeset.Close();
}
}
void CRtypeDlg::OnEdit()
{
UpdateData(TRUE);
if(m_TYPE.IsEmpty())
{
MessageBox("类型不能为空!");
return;
}
CString sqlstr = "SELECT * FROM READERTYPE WHERE TYPE='";
sqlstr += m_TYPE;
sqlstr += "'";
if(rtypeset.IsOpen())
{
rtypeset.Close();
}
if(!rtypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者类型表打开失败!");
return;
}
if(rtypeset.IsEOF())
{
MessageBox("该类型不存在!");
rtypeset.Close();
return;
}
CEditDlg dlg;
if(dlg.DoModal()==IDOK)
{
rtypeset.Edit();
rtypeset.m_TYPE = m_TYPE;
rtypeset.m_SUM = m_SUM;
if(rtypeset.Update())
{
rtypeset.Requery();
MessageBox("修改成功!");
}
rtypeset.Close();
}
else rtypeset.Close();
}
void CRtypeDlg::OnClickList(NMHDR* pNMHDR, LRESULT* pResult)
{
UpdateData(TRUE);
char TYPE[20];
POSITION pos = m_List.GetFirstSelectedItemPosition();
if (pos != NULL)
{
int n = m_List.GetNextSelectedItem(pos);
m_List.GetItemText(n,0,TYPE,20);
if (rtypeset.IsOpen())
{
rtypeset.Close();
}
CString sqlstr = "SELECT * FROM READERTYPE WHERE TYPE='";
sqlstr += TYPE;
sqlstr += "'";
if (!rtypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者类型表打开失败!");
return;
}
m_TYPE = rtypeset.m_TYPE;
m_SUM = rtypeset.m_SUM;
UpdateData(FALSE);
}
*pResult = 0;
}
void CRtypeDlg::OnDelete()
{
UpdateData(TRUE);
if(m_TYPE.IsEmpty())
{
MessageBox("类型不能为空!");
return;
}
CString sqlstr = "SELECT * FROM READERTYPE WHERE TYPE='";
sqlstr += m_TYPE;
sqlstr += "'";
if(rtypeset.IsOpen())
{
rtypeset.Close();
}
if(!rtypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者类型表打开失败!");
return;
}
if(rtypeset.IsEOF())
{
MessageBox("该类型不存在!");
rtypeset.Close();
return;
}
CDeleteDlg dlg;
if (dlg.DoModal()==IDOK)
{
if (rfileset.IsOpen())
{
rfileset.Close();
}
sqlstr = "SELECT * FROM READERINFM WHERE TYPE='";
sqlstr += m_TYPE;
sqlstr += "'";
if(!rfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("读者表打开失败!");
return;
}
while (!rfileset.IsEOF())
{
rfileset.Edit();
rfileset.m_TYPE = "";
rfileset.Update();
rfileset.Requery();
rfileset.MoveNext();
}
rtypeset.Delete();
rtypeset.Requery();
MessageBox("删除成功!");
rtypeset.Close();
rfileset.Close();
}
else rtypeset.Close();
}
void CRtypeDlg::OnExit()
{
if (rtypeset.IsOpen())
{
rtypeset.Close();
}
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -