📄 btypedlg.cpp
字号:
// BtypeDlg.cpp : implementation file
//
#include "stdafx.h"
#include "MyLib.h"
#include "BtypeDlg.h"
#include "DeleteDlg.h"
#include "EditDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBtypeDlg dialog
CBtypeDlg::CBtypeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBtypeDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBtypeDlg)
m_DAY = 0;
m_FTYPEID = _T("");
m_FTYPENAME = _T("");
m_TYPEID = _T("");
m_TYPENAME = _T("");
//}}AFX_DATA_INIT
}
void CBtypeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBtypeDlg)
DDX_Text(pDX, IDC_DAY, m_DAY);
DDV_MinMaxInt(pDX, m_DAY, 0, 99);
DDX_Text(pDX, IDC_FTYPEID, m_FTYPEID);
DDV_MaxChars(pDX, m_FTYPEID, 20);
DDX_Text(pDX, IDC_FTYPENAME, m_FTYPENAME);
DDV_MaxChars(pDX, m_FTYPENAME, 20);
DDX_Text(pDX, IDC_TYPEID, m_TYPEID);
DDV_MaxChars(pDX, m_TYPEID, 20);
DDX_Text(pDX, IDC_TYPENAME, m_TYPENAME);
DDV_MaxChars(pDX, m_TYPENAME, 20);
DDX_Control(pDX, IDC_LIST1, m_List);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBtypeDlg, CDialog)
//{{AFX_MSG_MAP(CBtypeDlg)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList)
ON_BN_CLICKED(IDC_FIND, OnFind)
ON_BN_CLICKED(IDC_EXIT, OnExit)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_EDIT, OnEdit)
ON_BN_CLICKED(IDC_DELETE, OnDelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CBtypeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_List.InsertColumn(0,"类型ID");
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;
}
/////////////////////////////////////////////////////////////////////////////
// CBtypeDlg message handlers
bool CBtypeDlg::DisplayRecord()
{
UpdateData(true);
int i=0;
while(!btypeset.IsEOF())
{
m_TYPEID = btypeset.m_TYPEID;
m_TYPENAME = btypeset.m_TYPENAME;
m_List.InsertItem(i,m_TYPEID);
m_List.SetItemText(i,1,m_TYPENAME);
btypeset.MoveNext();
i++;
}
UpdateData(false);
return true;
}
void CBtypeDlg::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 (btypeset.IsOpen())
{
btypeset.Close();
}
CString sqlstr = "SELECT * FROM BOOKTYPE WHERE TYPEID='";
sqlstr += TYPE;
sqlstr += "'";
if (!btypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书类型表打开失败!");
return;
}
m_TYPEID = btypeset.m_TYPEID;
m_TYPENAME = btypeset.m_TYPENAME;
m_DAY = btypeset.m_DAY;
UpdateData(FALSE);
}
*pResult = 0;
}
void CBtypeDlg::OnFind()
{
m_List.DeleteAllItems();
UpdateData(TRUE);
CString sqlstr = "SELECT * FROM BOOKTYPE WHERE TYPEID='";
sqlstr += m_FTYPEID;
sqlstr += "' OR TYPENAME='";
sqlstr += m_FTYPENAME;
sqlstr += "'";
if(btypeset.IsOpen())
{
btypeset.Close();
}
if(!btypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书类型表打开失败!");
return;
}
if(!btypeset.IsEOF())
{
DisplayRecord();
btypeset.Close();
}
else
{
MessageBox("该类型不存在!");
btypeset.Close();
}
}
void CBtypeDlg::OnExit()
{
if(btypeset.IsOpen())
{
btypeset.Close();
}
CDialog::OnCancel();
}
void CBtypeDlg::OnAdd()
{
UpdateData(TRUE);
if(m_TYPEID.IsEmpty())
{
MessageBox("类型ID不能为空!");
return;
}
CString sqlstr = "SELECT * FROM BOOKTYPE WHERE TYPEID='";
sqlstr += m_TYPEID;
sqlstr += "'";
if(btypeset.IsOpen())
{
btypeset.Close();
}
if(!btypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书类型表打开失败!");
return;
}
if(!btypeset.IsEOF())
{
MessageBox("该类型已存在!");
btypeset.Close();
return;
}
btypeset.AddNew();
btypeset.m_TYPEID = m_TYPEID;
btypeset.m_TYPENAME = m_TYPENAME;
btypeset.m_DAY = m_DAY;
btypeset.Update();
btypeset.Requery();
MessageBox("添加成功!");
btypeset.Close();
}
void CBtypeDlg::OnEdit()
{
UpdateData(TRUE);
if(m_TYPEID.IsEmpty())
{
MessageBox("类型ID不能为空!");
return;
}
CString sqlstr = "SELECT * FROM BOOKTYPE WHERE TYPEID='";
sqlstr += m_TYPEID;
sqlstr += "'";
if(btypeset.IsOpen())
{
btypeset.Close();
}
if(!btypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书类型表打开失败!");
return;
}
if(btypeset.IsEOF())
{
MessageBox("该类型不存在!");
btypeset.Close();
return;
}
CEditDlg dlg;
if(dlg.DoModal()==IDOK)
{
btypeset.Edit();
btypeset.m_TYPEID = m_TYPEID;
btypeset.m_TYPENAME = m_TYPENAME;
btypeset.m_DAY = m_DAY;
if(btypeset.Update())
{
btypeset.Requery();
MessageBox("修改成功!");
}
btypeset.Close();
}
else
{
btypeset.Close();
}
}
void CBtypeDlg::OnDelete()
{
UpdateData(TRUE);
if(m_TYPEID.IsEmpty())
{
MessageBox("类型ID不能为空!");
return;
}
CString sqlstr = "SELECT * FROM BOOKTYPE WHERE TYPEID='";
sqlstr += m_TYPEID;
sqlstr += "'";
if(btypeset.IsOpen())
{
btypeset.Close();
}
if(!btypeset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书类型表打开失败!");
return;
}
if(btypeset.IsEOF())
{
MessageBox("该类型不存在!");
btypeset.Close();
return;
}
CDeleteDlg dlg;
if (dlg.DoModal()==IDOK)
{
if(bfileset.IsOpen())
{
bfileset.Close();
}
sqlstr = "SELECT * FROM BOOKINFM WHERE TYPEID='";
sqlstr += m_TYPEID;
sqlstr += "'";
if(!bfileset.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr))
{
MessageBox("图书表打开失败!");
return;
}
while (!bfileset.IsEOF())
{
bfileset.Edit();
bfileset.m_TYPEID = "";
bfileset.Update();
bfileset.Requery();
bfileset.MoveNext();
}
btypeset.Delete();
btypeset.Requery();
MessageBox("删除成功!");
btypeset.Close();
bfileset.Close();
}
else
{
btypeset.Close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -