// WzdView.cpp : implementation of the CWzdView class
//
#include "stdafx.h"
#include "Wzd.h"
#include "WzdDoc.h"
#include "WzdView.h"
#include "WzdRSet.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CWzdView
IMPLEMENT_DYNCREATE(CWzdView, CView)
BEGIN_MESSAGE_MAP(CWzdView, CView)
//{{AFX_MSG_MAP(CWzdView)
ON_COMMAND(ID_TEST_WZD, OnTestWzd)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CWzdView construction/destruction
CWzdView::CWzdView()
{
// TODO: add construction code here
}
CWzdView::~CWzdView()
{
}
BOOL CWzdView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CView::PreCreateWindow(cs);
}
/////////////////////////////////////////////////////////////////////////////
// CWzdView drawing
void CWzdView::OnDraw(CDC* pDC)
{
CWzdDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
}
/////////////////////////////////////////////////////////////////////////////
// CWzdView printing
BOOL CWzdView::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CWzdView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CWzdView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
/////////////////////////////////////////////////////////////////////////////
// CWzdView diagnostics
#ifdef _DEBUG
void CWzdView::AssertValid() const
{
CView::AssertValid();
}
void CWzdView::Dump(CDumpContext& dc) const
{
CView::Dump(dc);
}
CWzdDoc* CWzdView::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CWzdDoc)));
return (CWzdDoc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CWzdView message handlers
void CWzdView::OnTestWzd()
{
// create record set object
CWzdRecordset wzdSet(GetDocument()->GetDatabase());
// open all records in table
wzdSet.Open();
// scroll through records
while (! wzdSet.IsEOF())
{
// values can be accessed from record set member variables:
// wzdSet.m_CustomerID
// wzdSet.m_CompanyName
// wzdSet.m_ContactName
// etc.
wzdSet.MoveNext();
}
//find a record (without opening the record set that way)
if (wzdSet.FindFirst("[Country]='UK'"))
{
while (wzdSet.FindNext("[Country]='UK'"))
{
}
}
// if we can't update or append records, leave now
if (!wzdSet.CanUpdate() || !wzdSet.CanAppend())
return;
// add a record
try
{
// add new record
wzdSet.AddNew();
// initialize each field
wzdSet.m_CustomerID="ABCDX";
wzdSet.m_CompanyName="ABC Inc.";
//etc.
// update database
wzdSet.Update();
}
catch (CDaoException *e)
{
// AddNew failed
AfxMessageBox(e->m_pErrorInfo->m_strDescription);
e->Delete();
}
// edit a record
wzdSet.MoveFirst();
try
{
wzdSet.Edit();
// update affected fields
wzdSet.m_CompanyName="ABCEF Inc.";
wzdSet.m_ContactName="Frank";
//etc.
// update database
wzdSet.Update();
}
catch (CDaoException *e)
{
// Edit failed
AfxMessageBox(e->m_pErrorInfo->m_strDescription);
e->Delete();
}
// delete a record
try
{
// delete record to which we're currently opened
wzdSet.Delete();
}
catch (CDaoException *e)
{
// Delete failed
AfxMessageBox(e->m_pErrorInfo->m_strDescription);
e->Delete();
}
// close record set
wzdSet.Close();
///////////////////////////////////
// RECORD FILTERING ///////
///////////////////////////////////
// open record set with a simple "WHERE" SQL filter
wzdSet.m_strFilter = "[Country]='UK'";
// sort record set with a simple "ORDER BY" SQL specification
wzdSet.m_strSort = "[ContactName]";
wzdSet.Open();
if(wzdSet.IsEOF())
{
AfxMessageBox("Cannot find records.");
}
// scroll through records as above...
while (! wzdSet.IsEOF())
{
wzdSet.MoveNext();
}
wzdSet.Close();
// open a record set with a complete SQL SELECT statement
wzdSet.m_strFilter = ""; // appended to the following!
wzdSet.m_strSort = "";
wzdSet.Open(AFX_DB_USE_DEFAULT_TYPE,
"SELECT [CustomerID], [CompanyName], [ContactName], \
[ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax] \
FROM [Customers] WHERE [Country] = 'Mexico'");
if (wzdSet.IsEOF())
{
AfxMessageBox("Cannot find records.");
}
// scroll through records as above...
while (! wzdSet.IsEOF())
{
wzdSet.MoveNext();
}
wzdSet.Close();
////////////////////////////////////
// MULTIPLE TABLE TRANSACTIONS /////
////////////////////////////////////
// NOTE: when performing related operations on more then one database
// table at a time, an error in any one of these transactions should undo
// or "rollback" all of the changes made
// Create a transaction we can rollback
GetDocument()->GetDatabase()->m_pWorkspace->BeginTrans();
try
{
// perform transactions on several database tables/records
wzdSet.Open();
wzdSet.Update();
// Success
GetDocument()->GetDatabase()->m_pWorkspace->CommitTrans();
}
catch (CDaoException *e)
{
// An exception occurred, rollback the transaction
GetDocument()->GetDatabase()->m_pWorkspace->Rollback();
AfxMessageBox(e->m_pErrorInfo->m_strDescription);
e->Delete();
}
// since this was allocated on stack, returning will also close record set
wzdSet.Close();
}
没有合适的资源?快使用搜索试试~ 我知道了~
VC MFC 入门实例
共1964个文件
h:609个
cpp:527个
ico:143个
2星 需积分: 9 78 下载量 182 浏览量
2009-03-24
16:10:22
上传
评论
收藏 5.5MB RAR 举报
温馨提示
全部是可在vc6.0下编译通过的例子,初学者不但可以看到运行效果,还有源代码做说明。
资源推荐
资源详情
资源评论
收起资源包目录
VC MFC 入门实例 (1964个子文件)
Styles.001 8KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 5KB
Wzd.001 4KB
Wzd.001 4KB
WzdDll.001 4KB
Wzd.aps 191KB
Styles.aps 41KB
Wzd.aps 32KB
Wzd.aps 32KB
Wzd.aps 32KB
Wzd.aps 32KB
FILECOPY.AVI 9KB
WZDSPLSH.BMP 160KB
WZD.BMP 62KB
479010.BMP 18KB
COVE.BMP 17KB
WATERFLL.BMP 12KB
LAKE.BMP 7KB
TOOLBAR.BMP 3KB
BMP00005.BMP 2KB
BUTTON_D.BMP 2KB
BUTTON_U.BMP 2KB
TOOLBAR.BMP 1KB
WZD.BMP 1KB
WZD2.BMP 1KB
BUTTON_F.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
TOOLBAR.BMP 1KB
BMP00002.BMP 838B
BMP00004.BMP 838B
共 1964 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- taozhiqin2014-02-15很详细,学习了
sunyi1328
- 粉丝: 1
- 资源: 33
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功