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

📄 student_manage.cpp

📁 图书管理系统 语言:C,SQL 功能:实现图书管理的数字化
💻 CPP
字号:
// Student_manage.cpp : implementation file
//

#include "stdafx.h"
#include "Library.h"
#include "Student_manage.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// Student_manage dialog


Student_manage::Student_manage(CWnd* pParent /*=NULL*/)
	: CDialog(Student_manage::IDD, pParent)
{
	//{{AFX_DATA_INIT(Student_manage)
	m_sid_temp = _T("");
	m_sid = _T("");
	m_sname = _T("");
	m_sprofession = _T("");
	//}}AFX_DATA_INIT
}


void Student_manage::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Student_manage)
	DDX_Control(pDX, IDC_LIST4, m_borrow_list);
	DDX_Text(pDX, IDC_EDIT1, m_sid_temp);
	DDX_Text(pDX, IDC_EDIT2, m_sid);
	DDX_Text(pDX, IDC_EDIT3, m_sname);
	DDX_Text(pDX, IDC_EDIT4, m_sprofession);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Student_manage, CDialog)
	//{{AFX_MSG_MAP(Student_manage)
	ON_BN_CLICKED(IDC_Search, OnSearch)
	ON_BN_CLICKED(IDC_Add, OnAdd)
	ON_BN_CLICKED(IDC_Delete, OnDelete)
	ON_BN_CLICKED(IDC_Update, OnUpdate)
	ON_BN_CLICKED(IDC_Student_print, OnStudentprint)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Student_manage message handlers

void Student_manage::OnSearch() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_sid_temp.IsEmpty())
	{
	   MessageBox("请输入学生学号!");
	   return;
	}
	//查找
    CString str="Sid='"+m_sid_temp+"'";
	student_set.m_strFilter=str;
	student_set.Open();       //打开数据集合
	int recount=student_set.GetRecordCount();
	if(recount==0)
	{
		MessageBox("无此学生记录!");
		student_set.m_strFilter="";	
	}
	else
	{
		m_sid=student_set.m_Sid;
		m_sname=student_set.m_Sname;
		m_sprofession=student_set.m_Sprofession;

		UpdateData(FALSE);
	}
	UpdateData(FALSE);//显示
	student_set.Close();
	
}

void Student_manage::OnAdd() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_sid.IsEmpty()||m_sname.IsEmpty()||m_sprofession.IsEmpty())
	{
	   MessageBox("请输入完整的学生信息!");
	   return;
	}
	
	CString str="SId='"+m_sid+"'";
	student_set.m_strFilter=str;
	student_set.Open();
	int recount=0;
	recount=student_set.GetRecordCount();//
	if(recount==0)
	{	
		student_set.AddNew();//使数据集对象处于增加状态
	    student_set.m_Sid=m_sid;
	    student_set.m_Sname=m_sname;
	    student_set.m_Sprofession=m_sprofession;
    	student_set.Update();//增加和更新都要执行一个此操作
        student_set.MoveFirst();
    	student_set.Requery();
    	MessageBox("添加学生信息成功!");
		student_set.m_strFilter="";//	
	}
	else
	{
		MessageBox("该学生信息已经存在");
	}
	UpdateData(FALSE);
	student_set.Close();
	
}

void Student_manage::OnDelete() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_sid.IsEmpty())
	{
	   MessageBox("请输入学号!");
	   return;
	}
	
	borrow_set.Open();
	book_set.Open();
	m_borrow_list.ResetContent();//列表清空
	while(!borrow_set.IsEOF())
	{
		if(borrow_set.m_Sid==m_sid)
		{
			while(!book_set.IsEOF())
			{
				if(book_set.m_ISBN==borrow_set.m_ISBN)
				{
					book_set.m_B_borrow_count++;
					break;
				}
				book_set.MoveNext();
			}
			book_set.MoveFirst();
			book_set.Requery();
			book_set.Close();

			borrow_set.Delete();
			
		}
		borrow_set.MoveNext();
	}
	borrow_set.MoveFirst();//?
    borrow_set.Requery();
	borrow_set.Close();

	student_set.Open();	
	student_set.Delete();
    student_set.MoveFirst();//?
    student_set.Requery();//?
	m_sid="";
	m_sname="";
    m_sprofession="";



	MessageBox("删除成功");
	UpdateData(FALSE);
	student_set.Close();
	
}


void Student_manage::OnUpdate() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	if(m_sid.IsEmpty())
	{
	   MessageBox("请输入学号!");
	   return;
	}
	student_set.Open();
	student_set.Edit();//处于更新状态
	student_set.m_Sid=m_sid;
	student_set.m_Sname=m_sname;
	student_set.m_Sprofession=m_sprofession;
	
    student_set.Update();
    student_set.MoveFirst();
    student_set.Requery();
	MessageBox("学生信息更新成功!");
	UpdateData(FALSE);
	student_set.Close();
	
}

void Student_manage::OnStudentprint() 
{
	// TODO: Add your control notification handler code here
	int i=1;
	CString str=m_sid;
	m_borrow_list.ResetContent();//列表清空
	str.Format("%s",m_sid);
	

	borrow_set.Open();
	while(!borrow_set.IsEOF()) //判断是否为结尾
	{
		if(borrow_set.m_Sid==m_sid)
		{
			borrow_set.m_ISBN.TrimRight();
			borrow_set.m_ISBN.TrimLeft();
		
			CString temp,temp1,temp2;
			CTime t1=borrow_set.m_Borrowtime.GetTime();
			CTime t2=borrow_set.m_Senttime.GetTime();
			CTime t=CTime::GetCurrentTime();
			temp1=t1.Format("%Y-%m-%d");
			temp2=t2.Format("%Y-%m-%d");
			if(t2>=t)
				temp.Format("%d           %s       %s       %s",i,borrow_set.m_ISBN,temp1,temp2);
			else
				temp.Format("%d           %s       %s       %s      超期",i,borrow_set.m_ISBN,temp1,temp2);
			m_borrow_list.InsertString(-1,temp); 
			UpdateData(FALSE);
			i++; 
		}
		borrow_set.MoveNext();
	}
	borrow_set.MoveFirst();
    borrow_set.Requery();
	borrow_set.Close(); 

//	UpdateData(FALSE);	
}

void Student_manage::OnCancel() 
{
	// TODO: Add extra cleanup here
	
	CDialog::OnCancel();
}

⌨️ 快捷键说明

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