//请教基于对话框odbc数据库程序的一个问题。创建一个CRecordset类CDemoSet创建一个对话框的类CDemoDlg
在对话框类的头文件中加入// Dialog Data
//{{AFX_DATA(CMyPropertyPage1)
enum { IDD = IDD_PROPPAGE1 };
        CDemoSet* m_pSet;
//}}AFX_DATA在对话框中加入EDIT BOX控件,并通过CLassWizard添加相应的变量
这时可以选择CDemoSet类的变量如"m_pSet->m_dm".生成的代码为:void CMyPropertyPage1::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyPropertyPage1)
DDX_FieldText(pDX, IDC_EDIT1, m_pSet->m_dmdm, m_pSet);
DDX_FieldText(pDX, IDC_EDIT2, m_pSet->m_dm, m_pSet);
//}}AFX_DATA_MAP
}如果是文档/视类型即可将数据库字段与控件绑定。编译没有错误,但运行时出现错误。只有这样才能将数据库字段与控件直接绑定,很省事,请帮我看一下问题在哪里?
m_pSet=new CDemoSet; 也不行.

解决方案 »

  1.   

    有m_pSet=new CDemoSet; 也不行.
      

  2.   

    错误信息是:Debug Assertion Failed !File:dbview.cpp
    Line:257
    可能是指针(m_pSet)是NULL.
    文档/视模式是这样的:在Doc中定义一个:  CDemoSet  m_dbaseSet;View中定义为:     
    ....
    CDemoSet* m_pSet;
    ...
    View::OnInitialUpdate()
    {
        m_pSet = &GetDocument()->m_dbaseSet;  //
    }不知对话框下如何实现。