?? bookadd.cpp
字號:
// BookAdd.cpp : implementation file
//
#include "stdafx.h"
#include "libraryMS.h"
#include "BookAdd.h"
/////////////////////////////////////////////
#include "column.h"
#include "columns.h"
////////////////////////////////////////////
#include "datagrid.h"
#include "adodc.h"
#include "ADOConn.h"
#include "LogLibrary.h"
#include "Book.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBookAdd dialog
CBookAdd::CBookAdd(CWnd* pParent /*=NULL*/)
: CDialog(CBookAdd::IDD, pParent)
{
//{{AFX_DATA_INIT(CBookAdd)
m_comment = _T("");
m_ISBN = _T("");
m_PressName = _T("");
m_title = _T("");
m_auhor = _T("");
m_count = _T("");
//}}AFX_DATA_INIT
}
void CBookAdd::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBookAdd)
DDX_Control(pDX, IDC_Categories_ADODC, m_Categadodc);
DDX_Control(pDX, IDC_Categories_DATACOMBO, m_CategDaCoBo);
DDX_Control(pDX, IDC_Kind_ADODC, m_Kindadodc);
DDX_Control(pDX, IDC_Kind_DATACOMBO, m_KindDaCoBo);
DDX_Control(pDX, IDC_Kind_DATAGRID, m_datagridKind);
DDX_Control(pDX, IDC_CateDATAGRID, m_datagridCate);
DDX_Text(pDX, IDC_Comment_EDIT, m_comment);
DDX_Text(pDX, IDC_ISBN_EDIT, m_ISBN);
DDX_Text(pDX, IDC_PressName_EDIT, m_PressName);
DDX_Text(pDX, IDC_Title_EDIT, m_title);
DDX_Text(pDX, IDC_Author_EDIT, m_auhor);
DDX_Text(pDX, IDC_Count_EDIT, m_count);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBookAdd, CDialog)
//{{AFX_MSG_MAP(CBookAdd)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBookAdd message handlers
void CBookAdd::OnCancel()
{
// TODO: Add extra cleanup here
CDialog::OnCancel();
}
void CBookAdd::OnOK()
{
// TODO: Add extra validation here
if(ISBNFlg == 0)//添加
{
if(IsValidate())//填寫資料合法
{
CBook Book;
Book.GetData(m_ISBN);
if(Book.GetISBNBook()!='-1')//表明圖書已經存在
{
MessageBox("該書已經入庫,請先根據ISBN查詢然后到修改窗口進行數量修改");
return;
}
///////////////////////////////////////設置操作記錄
CLogLibrary Log_dlg;
Log_dlg.DoModal();
Book.SetLogBook(Log_dlg.m_logMS);
/////////////////////////////////
UpdateData(true);
/////////////////////////////////提取各輸入值
Book.SetAuthorBook(m_auhor);
Book.SetCommentBook(m_comment);
Book.SetISBNBook(m_ISBN);
Book.SetPressName(m_PressName);
Book.SetTitleBook(m_title);
Book.SetTOTBook(m_count);
Book.SetTypeCode(vTypeBook);
//AfxMessageBox(Book.GetTypeCode());
Book.sql_insert();
CDialog::OnOK();
}
}
else if(ISBNFlg == 1)//修改
{
Change();
CDialog::OnOK();
}
}
BOOL CBookAdd::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//m_CategDaCoBo.SetBoundText();
// UpdateData(false);
//////////////////////////初始化
if(ISBNFlg == 0)//添加
{
m_comment="";
m_title = "";
m_auhor = "";
m_PressName = "";
m_ISBN = "";
m_count = "1";
}
else if(ISBNFlg == 1)//修改
{
m_comment=vComment;
m_title = vTitle;
m_auhor = vAuhor;
m_PressName = vPressName;
m_ISBN = vISBN;
m_count = vCount;
m_CategDaCoBo.SetBoundText(vTypeBook);
UpdateData(false);
GetDlgItem(IDC_ISBN_EDIT)->EnableWindow(false);
//GetDlgItem(IDC_Count_EDIT)->EnableWindow(false);
}
//////////////////////////////
m_CategDaCoBo.EnableWindow(false);
variant_t vIndex;
vIndex = long(0);
m_datagridKind.GetColumns().GetItem(vIndex).SetWidth(22);
vIndex = long(1);
m_datagridKind.GetColumns().GetItem(vIndex).SetWidth(175);
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BEGIN_EVENTSINK_MAP(CBookAdd, CDialog)
//{{AFX_EVENTSINK_MAP(CBookAdd)
ON_EVENT(CBookAdd, IDC_Categories_DATACOMBO, -600 /* Click */, OnClickCategoriesDATACOMBO, VTS_I2)
ON_EVENT(CBookAdd, IDC_Kind_DATACOMBO, -600 /* Click */, OnClickKindDATACOMBO, VTS_I2)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CBookAdd::OnClickCategoriesDATACOMBO(short Area)
{
// TODO: Add your control notification handler code here
vTypeBook =m_CategDaCoBo.GetBoundText();
}
void CBookAdd::OnClickKindDATACOMBO(short Area)
{
// TODO: Add your control notification handler code here
vKind=m_KindDaCoBo.GetBoundText();
CString categories;//圖書種類代碼
vKind.TrimRight();
//strcat(vKind,"%");
categories=vKind+'%';//配置查詢通配符
//MessageBox(str);
m_Categadodc.SetRecordSource("SELECT TypeCode as 代碼, TypeName as 類名 from t_BookType where TypeCode like '"+categories+"'");
m_Categadodc.Refresh();
m_CategDaCoBo.EnableWindow(true);
variant_t vIndex;
vIndex = long(0);
m_datagridCate.GetColumns().GetItem(vIndex).SetWidth(33);
vIndex = long(1);
m_datagridCate.GetColumns().GetItem(vIndex).SetWidth(170);
//MessageBox(str);
}
BOOL CBookAdd::IsValidate()
{
UpdateData(true);
//////////////////////////////////////////////////////////////
m_title.TrimLeft(); //去除左空格
m_title.TrimRight(); //去除右空格
if(m_title.IsEmpty())
{
MessageBox("輸入的書名無效");
return false;
}
//////////////////////////////////////////////////////////////
m_ISBN.TrimLeft();
m_ISBN.TrimRight();
if(m_ISBN.IsEmpty())
{
MessageBox("藏書ISBN不能空");
return false;
}
return true;
}
void CBookAdd::Change()
{
CBook Book;
UpdateData(true);
Book.SetAuthorBook(m_auhor);
Book.SetCommentBook(m_comment);
Book.SetISBNBook(m_ISBN);
Book.SetPressName(m_PressName);
Book.SetTitleBook(m_title);
Book.SetTOTBook(m_count);
Book.SetTypeCode(vTypeBook);
Book.sql_update(m_ISBN);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -