我现在用mfc做的一个sdi程序,把视图分为2部分,左边是一排按钮。点击其中一个右边出现相应的页面。
现在我在其中一个视图的按钮控件的点击事件里打开本地Access库Demo.mdb。那么我想知道在其他视图里是不是也就打开了该数据库。
我的代码如下:
先在stdafx.h文件中加上#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
接着在CMyApp中定义一个成员变量
// 定义ADO连接变量指针
_ConnectionPtr m_pConnection;
在BOOL CMyApp::InitInstance()函数中添加下列代码:
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
再在其中一个视图的按钮控件的点击事件里添加代码如下:
if(SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection) )))
{
m_pConnection->CursorLocation=adUseClient; //游标类型
}
try
{
// 打开本地Access库Demo.mdb
m_pConnection->Open(“”,"","",adModeUnknown);
}
catch(_com_error e)
{ AfxMessageBox("数据库连接失败,确认数据库是否在当前路径下!");
} 希望大家指教
现在我在其中一个视图的按钮控件的点击事件里打开本地Access库Demo.mdb。那么我想知道在其他视图里是不是也就打开了该数据库。
我的代码如下:
先在stdafx.h文件中加上#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF")
接着在CMyApp中定义一个成员变量
// 定义ADO连接变量指针
_ConnectionPtr m_pConnection;
在BOOL CMyApp::InitInstance()函数中添加下列代码:
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));
再在其中一个视图的按钮控件的点击事件里添加代码如下:
if(SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection) )))
{
m_pConnection->CursorLocation=adUseClient; //游标类型
}
try
{
// 打开本地Access库Demo.mdb
m_pConnection->Open(“”,"","",adModeUnknown);
}
catch(_com_error e)
{ AfxMessageBox("数据库连接失败,确认数据库是否在当前路径下!");
} 希望大家指教
再在其中一个视图的按钮控件的点击事件里添加代码如下:
if(SUCCEEDED(m_pConnection.CreateInstance(__uuidof(Connection) )))
{
m_pConnection->CursorLocation=adUseClient; //游标类型
}
try
{
// 打开本地Access库Demo.mdb
m_pConnection->Open(“”,"","",adModeUnknown); }
catch(_com_error e)
{ AfxMessageBox("数据库连接失败,确认数据库是否在当前路径下!"); }
你对文档-视图模型一无所知。
文档视图模型,专门为了你的问题而设。
打开数据库的任务交给文档,其他所有视图都可以访问文档。
严格说,不是,如果你的实例定义在某个VIEW中。
// 初始化COM,创建ADO连接等操作
AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));