标题:MFC编程问题(数据库)
只看楼主
hanjunabc886
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-4-10
结帖率:0
已结贴  问题点数:10 回复次数:2 
MFC编程问题(数据库)
    我数据库弄好了。在VC++中打开自己的工程Bewa.dsw,在Class View标签中 新建一个名为“CSsetdata”的类,基类选“CRecordset”.后面在“Database opitions ”对话框选‘ODBC’数据源。(这边没错)
    在工程中选我需要访问数据的对话框-IDD_DIALOG2,修改代码,后来运行后出现如下问题:
Compiling...
Dlgadd.cpp
d:\byu\bewa\setdata.h(14) : error C2504: 'CRecordset' : base class undefined
d:\byu\bewa\setdata.h(16) : error C2629: unexpected 'class CSetdata ('
d:\byu\bewa\setdata.h(16) : error C2238: unexpected token(s) preceding ';'
d:\byu\bewa\setdata.h(38) : error C2061: syntax error : identifier 'CFieldExchange'
D:\byu\Bewa\Dlgadd.cpp(88) : error C2039: 'Open' : is not a member of 'CSetdata'
d:\byu\bewa\setdata.h(13) : see declaration of 'CSetdata'

好像是‘setdata.h’的问题,但是不知道是哪里错。请高手赐教!谢谢!!

搜索更多相关主题的帖子: MFC 数据库 
2010-04-10 12:05
hanjunabc886
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-4-10
得分:0 
附上setdata.h
#if !defined(AFX_SETDATA_H__A0D01E6B_B747_4051_9115_1ED0165FE857__INCLUDED_)
#define AFX_SETDATA_H__A0D01E6B_B747_4051_9115_1ED0165FE857__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Setdata.h : header file
// CSetdata recordset

class CSetdata : public CRecordset
{
public:
    CSetdata(CDatabase* pDatabase = NULL);
    DECLARE_DYNAMIC(CSetdata);
// Field/Param Data
    //{{AFX_FIELD(CSetdata, CRecordset)
    CString    m_number;
    CString    m_name;
    CString    m_sex;
    long    m_age;
    CString    m_zy;
    CTime    m_data;
    CString    m_bl;
    CString    m_mode;
    //}}AFX_FIELD
// Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CSetdata)
    public:
    virtual CString GetDefaultConnect();    // Default connection string
    virtual CString GetDefaultSQL();    // Default SQL for Recordset
    virtual void DoFieldExchange(CFieldExchange* pFX);  // RFX support
    //}}AFX_VIRTUAL

// Implementation
#ifdef _DEBUG
    virtual void AssertValid() const;
    virtual void Dump(CDumpContext& dc) const;
#endif
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SETDATA_H__A0D01E6B_B747_4051_9115_1ED0165FE857__INCLUDED_)
2010-04-10 12:07
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
得分:10 
错误提示很清楚了:'CRecordset' : base class undefined
看到这句话的第一反应应该是,CRecordset类在哪个头文件里定义的,我是否包含了这个头文件,包括的位置是否是在当前这个类的包含之前。
2010-04-10 20:10



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-302409-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.156612 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved