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

📄 insertbookdlg.cpp

📁 图书馆管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能
💻 CPP
字号:
// InsertBookDlg.cpp : implementation file
//

#include "stdafx.h"
#include "librarym.h"
#include "InsertBookDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInsertBookDlg dialog


CInsertBookDlg::CInsertBookDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CInsertBookDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CInsertBookDlg)
	m_author = _T("");
	m_bookid = _T("");
	m_bookname = _T("");
	m_booktypeid = _T("");
	m_keyword = _T("");
	m_page = _T("");
	m_press = _T("");
	m_price = _T("");
	m_printdate = _T("");
	m_ps = _T("");
	m_availible = _T("");
	//}}AFX_DATA_INIT
}


void CInsertBookDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CInsertBookDlg)
	DDX_Text(pDX, IDC_EDIT_AUTHOR, m_author);
	DDX_Text(pDX, IDC_EDIT_BOOKID, m_bookid);
	DDX_Text(pDX, IDC_EDIT_BOOKNAME, m_bookname);
	DDX_Text(pDX, IDC_EDIT_BOOKTYPEID, m_booktypeid);
	DDX_Text(pDX, IDC_EDIT_KEYWORD, m_keyword);
	DDX_Text(pDX, IDC_EDIT_PAGE, m_page);
	DDX_Text(pDX, IDC_EDIT_PRESS, m_press);
	DDX_Text(pDX, IDC_EDIT_PRICE, m_price);
	DDX_Text(pDX, IDC_EDIT_PRINTDATE, m_printdate);
	DDX_Text(pDX, IDC_EDIT_PS, m_ps);
	DDX_Text(pDX, IDC_EDIT_AVAILIBLE, m_availible);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInsertBookDlg, CDialog)
	//{{AFX_MSG_MAP(CInsertBookDlg)
	ON_BN_CLICKED(IDC_BUTTON_INSERTREADERRECORDCANCEL, OnButtonInsertreaderrecordcancel)
	ON_BN_CLICKED(IDC_BUTTON_INSERTREADERRECORD, OnButtonInsertreaderrecord)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInsertBookDlg message handlers


BOOL CInsertBookDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	//初始化数据库连接
	HRESULT result;
	try
	{
		//实例化连接对象
		result=m_pConnection.CreateInstance(_uuidof(Connection));
		if(SUCCEEDED(result))
		{
			//设置连接属性为UDL文件
			m_pConnection->ConnectionString="File Name=LIBRARYM.udl";
			//设置等待连接打开的时间为20s
			m_pConnection->ConnectionTimeout=20;
			result=m_pConnection->Open("","","",adConnectUnspecified);

			if(FAILED(result))
			{
				AfxMessageBox("open failed");
				return TRUE;
			}
		}
		else
		{
			AfxMessageBox("createinstance of connection failed!");
			return TRUE;
		}
	}
	catch(_com_error e)
	{
		//输出异常信息
		_bstr_t bstrSource(e.Source());
		_bstr_t bstrDescription(e.Description());
		AfxMessageBox(bstrSource+bstrDescription);
		return TRUE;
	}
	return  TRUE;
}

void CInsertBookDlg::OnButtonInsertreaderrecordcancel() 
{
	CDialog::OnCancel();		
}

void CInsertBookDlg::OnButtonInsertreaderrecord() 
{
	UpdateData(TRUE); //得到输入
	//判断是否输入了要插入的数据项
	if(m_author.IsEmpty() || m_availible.IsEmpty() ||m_bookid.IsEmpty()
		|| m_bookname.IsEmpty() || m_booktypeid.IsEmpty() ||m_keyword.IsEmpty()
		|| m_press.IsEmpty()|| m_printdate.IsEmpty())
	{
		AfxMessageBox("empty input!");
		return;
	}
	_RecordsetPtr pset;
	pset.CreateInstance(_uuidof(Recordset));
	HRESULT hr;
	try
	{
		hr=pset->Open("select * from BookInfo",m_pConnection.GetInterfacePtr(),
			adOpenDynamic,adLockOptimistic,adCmdText);
		//添加记录
		if(SUCCEEDED(hr))
		{
			pset->AddNew();
			//写入每个字段值
			pset->PutCollect("BookID",_variant_t(m_bookid));
			pset->PutCollect("BookName",_variant_t(m_bookname));
			pset->PutCollect("BookTypeID",_variant_t(m_booktypeid));
			pset->PutCollect("Author",_variant_t(m_author));
			pset->PutCollect("Press",_variant_t(m_press));
			pset->PutCollect("PrintDate",_variant_t(m_printdate));
			pset->PutCollect("Price",_variant_t(m_price));
			pset->PutCollect("Page",_variant_t(m_page));
			pset->PutCollect("Keyword",_variant_t(m_keyword));
			pset->PutCollect("Available",_variant_t(m_availible));
			pset->PutCollect("PS",_variant_t(m_ps));

			pset->Update();
		}
	}
	catch(_com_error *e)
	{
		AfxMessageBox(e->ErrorMessage());
		return;
	}
	pset->Close();
	pset=NULL;
	AfxMessageBox("successful inserted!");
	CDialog::OnOK();		
}

⌨️ 快捷键说明

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