www.gusucode.com > MultiTab源码,VC的窗体标签TAB示例源码程序 > MultiTab源码,VC的窗体标签TAB示例源码程序\code\BookAdd.cpp

    // BookAdd.cpp : implementation file
// Download by http://www.NewXing.com

#include "stdafx.h"
#include "MultiTab.h"
#include "BookAdd.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBookDelete dialog


CBookDelete::CBookDelete(CWnd* pParent /*=NULL*/)
	: CDialog(CBookDelete::IDD, pParent)
{
	//{{AFX_DATA_INIT(CBookDelete)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CBookDelete::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CBookDelete)
	DDX_Control(pDX, IDC_LIST, m_QueryResult);
	DDX_Control(pDX, IDC_BOOKNAME, m_BookName);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CBookDelete, CDialog)
	//{{AFX_MSG_MAP(CBookDelete)
	ON_BN_CLICKED(IDC_QUERY_BOOK, OnQueryBook)
	ON_BN_CLICKED(IDC_DEL_BOOK, OnDelBook)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBookDelete message handlers

BOOL CBookDelete::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_QueryResult.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
	m_QueryResult.InsertColumn(0, "书籍名称", LVCFMT_LEFT, 120);						//添加列
	m_QueryResult.InsertColumn(1, "作者", LVCFMT_LEFT, 50);								//添加列
	m_QueryResult.InsertColumn(2, "条形码", LVCFMT_LEFT, 100);		
	m_QueryResult.InsertColumn(3, "备注", LVCFMT_LEFT, 100);
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CBookDelete::OnQueryBook() 
{
	
	CString szBookName;
	m_BookName.GetWindowText(szBookName);

	_ConnectionPtr	pConnect;
	_RecordsetPtr	pRecordset = NULL;

	pConnect.CreateInstance("ADODB.Connection");
	//pRecordset.CreateInstance("ADODB.Recordset");
	


	CString szConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\BookManage.mdb;Persist Security Info=False";
	try
	{
		pConnect->Open((_bstr_t)szConnectStr, "", "", -1);
	}
	catch(...)
	{
		MessageBox("数据库连接失败!", "提示");
		return;
	}

	CString szSQL;
	szSQL.Format("select * from tb_bookInfo where BookName = '%s'", szBookName);
	pRecordset = pConnect->Execute((_bstr_t)szSQL, NULL, adCmdText) ;
	if (pRecordset)
	{
		m_QueryResult.DeleteAllItems();
		while(!pRecordset->ADOEOF)
		{
			CString szBookName = (char*)(_bstr_t)pRecordset->GetFields()->GetItem("BookName")->Value;
			CString szAuthor = (char*)(_bstr_t)pRecordset->GetFields()->GetItem("Author")->Value;
			CString szBarcode = (char*)(_bstr_t)pRecordset->GetFields()->GetItem("Barcode")->Value;
			CString szMemo = (char*)(_bstr_t)pRecordset->GetFields()->GetItem("Memo")->Value;
			int nIndex = m_QueryResult.InsertItem(0, "");
			m_QueryResult.SetItemText(nIndex, 0, szBookName);
			m_QueryResult.SetItemText(nIndex, 1, szAuthor);
			m_QueryResult.SetItemText(nIndex, 2, szBarcode);
			m_QueryResult.SetItemText(nIndex, 3, szMemo);
			pRecordset->MoveNext();
		}
	}

}

void CBookDelete::OnDelBook() 
{
	int nSel = m_QueryResult.GetSelectionMark();
	if (nSel != -1)
	{
		if (MessageBox("确实要删除当前图书信息吗?", "提示", MB_YESNO) == IDYES)
		{
			CString szDelBook = m_QueryResult.GetItemText(nSel, 0);
			m_QueryResult.DeleteItem(nSel);
			
			//在数据表中删除记录
			CString szSQL;
			szSQL.Format("Delete * from tb_BookInfo where bookname = '%s'", szDelBook);
			_ConnectionPtr	pConnect;
			_RecordsetPtr	pRecordset = NULL;

			pConnect.CreateInstance("ADODB.Connection");

			CString szConnectStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=.\\BookManage.mdb;Persist Security Info=False";
			try
			{
				pConnect->Open((_bstr_t)szConnectStr, "", "", -1);
			}
			catch(...)
			{
				MessageBox("数据库连接失败!", "提示");
				return;
			}	
			try
			{
				pConnect->Execute((_bstr_t)szSQL, NULL, adCmdText);
				MessageBox("操作成功!", "提示");
			}
			catch(...)
			{
				MessageBox("操作失败!", "提示");
			}
		
		}
	}
}