你好,我编了一个程序,是在VC中通过ODBC访问ACCESS2000数据库,其中需要把一个表的信息显示出来,结果发现每次刷新太慢,就想采用DAO来做(不知速度是否比较快),结果遇到了问题:听说Micorsoft Jet 4.0要操作ACCESS2000数据库,必须要添加相应语句,我根据网上搜索的信息,作了如下添加:
BOOL CZzglxtApp::InitInstance()
{
AFX_MANAGE_STATE(AfxGetModuleState());//添加
AfxGetModuleState()->m_dwVersion = 0x0601;//添加AfxEnableControlContainer();
}
结果编译出错,出错信息如下:
C:\Documents and Settings\Administrator\桌面\复件 zzglxtDAO\zzglxt.cpp(53) : error C2039: 'm_dwVersion' : is not a member of 'AFX_MODULE_STATE'
c:\program files\microsoft visual studio\vc98\mfc\include\afxstat_.h(191) : see declaration of 'AFX_MODULE_STATE'
请高手指点指点,不胜感谢!
顺便问一下怎么可知数据库采用的是什么样的数据引擎,怎样用CDaoDatabase创建对象连接数据库,我这样对吗?
CDaoDatabase db;
db.Open("C:\\zzglxt.mdb",FALSE,FALSE,"");
BOOL CZzglxtApp::InitInstance()
{
AFX_MANAGE_STATE(AfxGetModuleState());//添加
AfxGetModuleState()->m_dwVersion = 0x0601;//添加AfxEnableControlContainer();
}
结果编译出错,出错信息如下:
C:\Documents and Settings\Administrator\桌面\复件 zzglxtDAO\zzglxt.cpp(53) : error C2039: 'm_dwVersion' : is not a member of 'AFX_MODULE_STATE'
c:\program files\microsoft visual studio\vc98\mfc\include\afxstat_.h(191) : see declaration of 'AFX_MODULE_STATE'
请高手指点指点,不胜感谢!
顺便问一下怎么可知数据库采用的是什么样的数据引擎,怎样用CDaoDatabase创建对象连接数据库,我这样对吗?
CDaoDatabase db;
db.Open("C:\\zzglxt.mdb",FALSE,FALSE,"");
Q236991 Unrecognized Database Format Error with Access 2000 Database
CString m_sConn="Provider=Microsoft.Jet.OLEDB.4.0.1;Data Source=d:\\db1.mdb";
m_pConn.CreateInstance("ADODB.Connection");
try
{
HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"","",adConnectUnspecified);
if (FAILED(hr))
{
AfxMessageBox("不能连接数据库 source!");
return FALSE;
}
}
catch(_com_error e)
{
AfxMessageBox("不能连接数据库 error!");
return FALSE;
}sql server
1.stdafx.h中加入
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2。app文件的InitInstance中加入
if(S_OK!=OleInitialize(NULL))
{
AfxMessageBox("初始化COM组件库错误");
}
下面就是数据库操作
_ConnectionPtr pConn;
_RecordsetPtr pRs;
CString strSQL;
pConn.CreateInstance(__uuidof(Connection));
pConn->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
pConn->Open(_bstr_t(strSQL),"","",-1);pRs.CreateInstance(__uuidof(Recordset));
pRs->CursorLocation=adUseClient;
pRs->PutActiveConnection(pConn.GetInterfacePtr());pRs1.CreateInstance(__uuidof(Recordset));
pRs1->CursorLocation=adUseClient;
pRs1->PutActiveConnection(pConn.GetInterfacePtr());strSQL="select * from catalog order by cataid";
pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);