#include "stdafx.h"
#include "DBDemo.h"
#include "mm.h"#ifdef _DEBUG
#define new DEBUG_NEW
#endifusing namespace std;int main(void){
m_dbDemo.CreateInstance();
m_dbDemo.SetConnectionString(_T("Microsoft.Jet.OLEDB.4.0"), _T("Demo.mdb"), _T("123456"));
if(!m_dbDemo.OpenConnection())
{
AfxMessageBox(_T("打开数据库失败"));
return FALSE;
}
CDBAdo* pDataBase = &(((CDBDemoApp*)AfxGetApp())->m_dbDemo);
pDataBase->OpenRecordset("SELECT * FROM DemoTable"); cout<<"hello"<<endl;
int n=pDataBase->GetRecordCount();
cout<<n<<endl;
return 0;}
自己写的MFC数据库的入口程序,但是运行时也不报错,就输出hello 0明明数据库里面有记录啊
{
public:
CDBDemoApp(); CDBAdo m_dbDemo;我直接拿来用了
单步跟踪一下
看看这个指针是否正确
你程序中不是已经定义了m_dbDemoCDBAdo* pDataBase = &(((CDBDemoApp*)AfxGetApp())->m_dbDemo);
pDataBase->OpenRecordset("SELECT * FROM DemoTable");直接替换为m_dbDemo.OpenRecordset("SELECT * FROM DemoTable");
试试