📄 admingldialog.cpp
字号:
// AdminGLDialog.cpp : implementation file
//
#include "stdafx.h"
#include "Book.h"
#include "AdminGLDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAdminGLDialog dialog
CAdminGLDialog::CAdminGLDialog(CWnd* pParent /*=NULL*/)
: CDialog(CAdminGLDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CAdminGLDialog)
m_bookclass = _T("");
m_bookpublish = _T("");
m_stuclass = _T("");
m_zhquanxian = _T("");
m_zhxqx = _T("");
m_bookauthor = _T("");
m_bookname = _T("");
m_bookno = 0;
m_booknumber = 0;
m_bookvalue = 0.0;
m_bookborrow = 0;
m_stuname = _T("");
m_stuno = 0;
m_zhmima = _T("");
m_zhmmqr = _T("");
m_zhname = _T("");
m_zhxmima = _T("");
m_zhxname = _T("");
m_zhxnewname = _T("");
m_zhxnewmmqr = _T("");
m_publishdate = 0;
//}}AFX_DATA_INIT
}
void CAdminGLDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdminGLDialog)
DDX_Control(pDX, IDC_BUTTONZHXEMP, m_zhxemp);
DDX_Control(pDX, IDC_BUTTONZHEMPTY, m_zhempty);
DDX_Control(pDX, IDC_LISTSHOWSTUDENT, m_studentlist);
DDX_Control(pDX, IDC_LISTSHOWBOOK, m_booklist);
DDX_Control(pDX, IDC_BUTTONZHDEL, m_zhdel);
DDX_Control(pDX, IDC_BUTTONZHCHG, m_zhchg);
DDX_Control(pDX, IDC_BUTTONZHADD, m_zhadd);
DDX_Control(pDX, IDC_BUTTONSTSHOW, m_stshow);
DDX_Control(pDX, IDC_BUTTONSTDEL, m_stdel);
DDX_Control(pDX, IDC_BUTTONSTADD, m_stadd);
DDX_Control(pDX, IDC_BUTTONBKSHOW, m_bkshow);
DDX_Control(pDX, IDC_BUTTONBKQK, m_bkqk);
DDX_Control(pDX, IDC_BUTTONBKDELETE, m_bkdelete);
DDX_Control(pDX, IDC_BUTTONBKADD, m_bkadd);
DDX_CBString(pDX, IDC_COMBOBOOKCLASS, m_bookclass);
DDX_CBString(pDX, IDC_COMBOBOOKPUBLISH, m_bookpublish);
DDX_CBString(pDX, IDC_COMBOSTCLASS, m_stuclass);
DDX_CBString(pDX, IDC_COMBOZHQX, m_zhquanxian);
DDX_CBString(pDX, IDC_COMBOZHXQX, m_zhxqx);
DDX_Text(pDX, IDC_EDITAUTHOR, m_bookauthor);
DDX_Text(pDX, IDC_EDITBOOKNAME, m_bookname);
DDX_Text(pDX, IDC_EDITBOOKNO, m_bookno);
DDX_Text(pDX, IDC_EDITBOOKNUMBER, m_booknumber);
DDV_MinMaxInt(pDX, m_booknumber, 0, 10000);
DDX_Text(pDX, IDC_EDITBOOKVALUE, m_bookvalue);
DDV_MinMaxDouble(pDX, m_bookvalue, 0., 10000.);
DDX_Text(pDX, IDC_EDITBORROWED, m_bookborrow);
DDX_Text(pDX, IDC_EDITSTNAME, m_stuname);
DDX_Text(pDX, IDC_EDITSTNO, m_stuno);
DDX_Text(pDX, IDC_EDITZHMIMA, m_zhmima);
DDX_Text(pDX, IDC_EDITZHMMQR, m_zhmmqr);
DDX_Text(pDX, IDC_EDITZHNAME, m_zhname);
DDX_Text(pDX, IDC_EDITZHXMIMA, m_zhxmima);
DDX_Text(pDX, IDC_EDITZHXNAME, m_zhxname);
DDX_Text(pDX, IDC_EDITZHXNEWMM, m_zhxnewname);
DDX_Text(pDX, IDC_EDITZHXNEWMMQR, m_zhxnewmmqr);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKERPUBLISHDATE, m_publishdate);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAdminGLDialog, CDialog)
//{{AFX_MSG_MAP(CAdminGLDialog)
ON_BN_CLICKED(IDC_BUTTONBKADD, OnButtonbkadd)
ON_BN_CLICKED(IDC_BUTTONBKQK, OnButtonbkqk)
ON_BN_CLICKED(IDC_BUTTONBKDELETE, OnButtonbkdelete)
ON_BN_CLICKED(IDC_BUTTONBKSHOW, OnButtonbkshow)
ON_BN_CLICKED(IDC_BUTTONSTADD, OnButtonstadd)
ON_BN_CLICKED(IDC_BUTTONSTDEL, OnButtonstdel)
ON_BN_CLICKED(IDC_BUTTONSTSHOW, OnButtonstshow)
ON_BN_CLICKED(IDC_BUTTONZHADD, OnButtonzhadd)
ON_BN_CLICKED(IDC_BUTTONZHCHG, OnButtonzhchg)
ON_BN_CLICKED(IDC_BUTTONZHDEL, OnButtonzhdel)
ON_BN_CLICKED(IDC_BUTTONZHEMPTY, OnButtonzhempty)
ON_BN_CLICKED(IDC_BUTTONZHXEMP, OnButtonzhxemp)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdminGLDialog message handlers
BOOL CAdminGLDialog::OnInitDialog()
{
CDialog::OnInitDialog();
booksource=new CBookDataSouce(&theApp.m_DB);//给图书表分配空间
studentsource=new CStdDataSource(&theApp.m_DB);//给学生表分配空间
dlsource=new CDLDateSouce(&theApp.m_DB);//给登录表分配空间
unsigned i;
CODBCFieldInfo info;
m_booklist.SetBkColor(RGB(200,250,230));//设置列表框的背景颜色
m_booklist.SetTextBkColor(RGB(200,250,230));//设置列表框中文字的背景颜色
m_booklist.SetTextColor(RGB(0,0,255));
m_studentlist.SetBkColor(RGB(200,250,230));
m_studentlist.SetTextBkColor(RGB(1200,250,230));
m_studentlist.SetTextColor(RGB(0,0,255));
booksource->Open();//打开图书表
m_booklist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);//设置列表控件的样式
for(i=0;i<booksource->m_nFields;i++)//给列表控件加入标签项
{
booksource->GetODBCFieldInfo(i,info);
m_booklist.InsertColumn(i,info.m_strName,LVCFMT_LEFT,84);
}
booksource->Close();
studentsource->Open();
m_studentlist.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
for(i=0;i<3;i++)
{
studentsource->GetODBCFieldInfo(i,info);
m_studentlist.InsertColumn(i,info.m_strName,LVCFMT_LEFT,135);
}
studentsource->Close();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAdminGLDialog::OnButtonbkadd() //添加书籍按钮
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(!BookNoUsed(m_bookno))
{
AfxMessageBox("该书号已经存在!");
return;
}
if(m_bookno<=0)
{
AfxMessageBox("书号应为正数!");
return;
}
if(m_bookname=="")
{
AfxMessageBox("书名不能为空!");
return;
}
if(m_bookclass=="")
{
AfxMessageBox("类别不能为空!");
return;
}
if(m_bookpublish=="")
{
AfxMessageBox("出版社不能为空!");
return;
}
if(m_bookauthor=="")
{
AfxMessageBox("作者不能为空!");
return;
}
if(m_bookvalue<=0)
{
AfxMessageBox("价格应为正数!");
return;
}
if(m_booknumber<=0)
{
AfxMessageBox("总数量应大于零!");
return;
}
if(m_bookborrow<0)
{
AfxMessageBox("借出数量不能为负数!");
return;
}
if(m_bookborrow>m_booknumber)
{
AfxMessageBox("借出数量不能大于总数量!");
return;
}
if(AddBooks())
{
AfxMessageBox("添加书籍成功!");
}
else
AfxMessageBox("添加书籍失败!");
UpdateData(FALSE);
}
void CAdminGLDialog::OnButtonbkqk()//添加书籍中的清空按钮
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_bookno=0;
m_bookname="";
m_bookclass="";
m_bookpublish="";
m_bookauthor="";
m_bookvalue=0;
m_booknumber=0;
m_bookborrow=0;
UpdateData(FALSE);
}
void CAdminGLDialog::OnButtonbkdelete()//删除书籍按钮
{
// TODO: Add your control notification handler code here
int i=0;
BOOL flag=true;//判断是否选中列表控件中行的标志
CString temp;
booksource->Open();
if(AfxMessageBox("确实要删除此数据吗?", MB_YESNO)==IDYES)//显示一个询问对话框
{
for(int i=0;i<booksource->GetRecordCount();i++)//遍历整个图书表
{
if(m_booklist.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)//选中列表控件中的一行
{
if(atoi(m_booklist.GetItemText(i,7))>0)//如果想要删除的书籍已经有人借阅
{
AfxMessageBox("已经有人借了此书不能删除!");
booksource->Close();
return;
}
booksource->Delete();//删除选中的书籍
booksource->Requery();//刷新快照
flag=false;
break;
}
if(!booksource->IsEOF())
booksource->MoveNext();
}
if(flag)
{
AfxMessageBox("请在列表中选中要删除的数据!");
}
}
booksource->Close();
if(!flag)
ShowList(1);//刷新列表控件
UpdateData(FALSE);
}
void CAdminGLDialog::OnButtonbkshow()//删除书籍中的显示按钮
{
// TODO: Add your control notification handler code here
ShowList(1);
}
void CAdminGLDialog::OnButtonstadd()//添加用户按钮
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(!StudentNoUsed(m_stuno))
{
AfxMessageBox("该学号已经存在!");
return;
}
if(m_stuname=="")
{
AfxMessageBox("姓名不能为空!");
return;
}
if(m_stuclass=="")
{
AfxMessageBox("专业不能为空!");
return;
}
AddStudent();
AfxMessageBox("添加用户成功!");
UpdateData(FALSE);
}
void CAdminGLDialog::OnButtonstdel()//删除用户
{
// TODO: Add your control notification handler code here
int i=0;
BOOL flag=true;
CString temp;
studentsource->Open();
if(AfxMessageBox("确实要删除此数据吗?", MB_YESNO)==IDYES)
{
for(int i=0;i<studentsource->GetRecordCount();i++)
{
if(m_studentlist.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
{
if(studentsource->m_column4!=0)//如果想要删除的用户有借的书没有还
{
AfxMessageBox("该用户有书没还,不能删除!");
studentsource->Close();
return;
}
studentsource->Delete();
studentsource->Requery();
flag=false;
break;
}
if(!studentsource->IsEOF())
studentsource->MoveNext();
}
if(flag)
{
AfxMessageBox("请在列表中选中要删除的数据!");
}
}
studentsource->Close();
if(!flag)
ShowList(2);
UpdateData(FALSE);
}
void CAdminGLDialog::OnButtonstshow()//显示用户
{
// TODO: Add your control notification handler code here
ShowList(2);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -