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("操作失败!", "提示"); } } } }