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

📄 btypedlg.cpp

📁 图书管理系统,相对全面,ODBC学习的好材料,仅攻学习,谢绝抄袭
💻 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 + -