'CRecordset' : base class undefined什么意思呀

dwh7875 2003-08-30 12:05:43
'CRecordset' : base class undefined什么意思呀
Add New Class
CRecordset为基类
联接".mdb"ODBC数据库
什么都没干,
就报这个错误.真不明白了,
谁来指点一下吧.
...全文
399 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
丁淇石头 2003-08-30
  • 打赏
  • 举报
回复
在StdAfx.h中加入
#ifndef _AFX_NO_DB_SUPPORT
#include <afxdb.h> // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
canany1tellme 2003-08-30
  • 打赏
  • 举报
回复
你没有包含CRecordset需要的h文件
IMPLEMENT_DYNCREATE(CAddView, CFormView) CAddView::CAddView() : CFormView(CAddView::IDD) { //{{AFX_DATA_INIT(CAddView) m_strID = _T(""); m_strPasswd = _T(""); m_strName = _T(""); m_strBirthday = _T(""); m_strDepartment = _T(""); m_strJob = _T(""); m_strEdulevel = _T(""); m_strSpecialty = _T(""); m_strAddress = _T(""); m_strTel = _T(""); m_strEmail = _T(""); m_strMemo = _T(""); //}}AFX_DATA_INIT } CAddView::~CAddView() { } void CAddView::DoDataExchange(CDataExchange* pDX) { CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAddView) DDX_Control(pDX, IDC_ADD_CMB_EDULEVEL, m_cEdulevel); DDX_Control(pDX, IDC_ADD_CMB_JOB, m_cJob); DDX_Control(pDX, IDC_ADD_CMB_DEPARTMENT, m_cDepartment); DDX_Text(pDX, IDC_ADD_EDT_ID, m_strID); DDX_Text(pDX, IDC_ADD_EDT_PASSWD, m_strPasswd); DDX_Text(pDX, IDC_ADD_EDT_NAME, m_strName); DDX_Text(pDX, IDC_ADD_EDT_BIRTHDAY, m_strBirthday); DDX_CBString(pDX, IDC_ADD_CMB_DEPARTMENT, m_strDepartment); DDX_CBString(pDX, IDC_ADD_CMB_JOB, m_strJob); DDX_CBString(pDX, IDC_ADD_CMB_EDULEVEL, m_strEdulevel); DDX_Text(pDX, IDC_ADD_EDT_SPECIALTY, m_strSpecialty); DDX_Text(pDX, IDC_ADD_EDT_ADDRESS, m_strAddress); DDX_Text(pDX, IDC_ADD_EDT_TEL, m_strTel); DDX_Text(pDX, IDC_ADD_EDT_EMAIL, m_strEmail); DDX_Text(pDX, IDC_ADD_EDT_MEMO, m_strMemo); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CAddView, CFormView) //{{AFX_MSG_MAP(CAddView) ON_BN_CLICKED(IDC_ADD_BTN_ADD, OnAddBtnAdd) ON_WM_DESTROY() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAddView diagnostics #ifdef _DEBUG void CAddView::AssertValid() const { CFormView::AssertValid(); } void CAddView::Dump(CDumpContext& dc) const { CFormView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CAddView message handlers void CAddView::OnInitialUpdate() { CFormView::OnInitialUpdate(); // 使框架窗口大小与视图匹配 GetParentFrame()->RecalcLayout(); ResizeParentToFit(FALSE); GetParentFrame()->SetWindowText("增加新员工"); // 设置标题 CRecordset rs(&db); // 数据集 CString str; // 设置部门下拉框所取的值为DEPARTMENT表中的值 rs.Open(CRecordset::forwardOnly, "select NAME from DEPARTMENT"); while(!rs.IsEOF()) { rs.GetFieldValue("NAME", str); m_cDepartment.AddString(str); rs.MoveNext(); } rs.Close(); // 设置职务下拉框所取的值为JOB表中的值 rs.Open(CRecordset::forwardOnly, "select DESCRIPTION from JOB"); while(!rs.IsEOF()) { rs.GetFieldValue("DESCRIPTION", str); m_cJob.AddString(str); rs.MoveNext(); } rs.Close(); // 设置受教育水平下拉框所取的值为EDU_LEVEL表中的值 rs.Open(CRecordset::forwardOnly, "select DESCRIPTION from EDU_LEVEL"); while(!rs.IsEOF()) { rs.GetFieldValue("DESCRIPTION", str); m_cEdulevel.AddString(str); rs.MoveNext(); } rs.Close(); Init(); // 调用初始化函数 } void CAddView::OnAddBtnAdd() { CString str,strSQL; int counter; // 用于计数 CRecordset rs(&db); // 数据集 UpdateData(); // 更新数据 if(m_strName.IsEmpty()) // 姓名为空则返回 { AfxMessageBox("姓名不能为空!"); return; } // 累加员工编号计数器 rs.Open(CRecordset::forwardOnly, "select COUNTER_VALUE from COUNTER where ID='P'"); rs.GetFieldValue("COUNTER_VALUE", str); sscanf(str, "%d", &counter); // 获取计数值 rs.Close(); // 关闭数据集 counter++; // 计数值加1 str.Format("%d", counter); // 转换为字符串 strSQL="update COUNTER set COUNTER_VALUE=" + str + " where ID='P'"; // 设置SQL语句 db.ExecuteSQL(strSQL); // 执行 // 增加员工个人信息记录 CString strPasswd,strSex,strDepID,strJobID,strEduID; // 判断生日是否为空 if(m_strBirthday.IsEmpty()) m_strBirthday="1900-1-1"; // 缺省值 // 加密密码 strPasswd=CCrypt::Encrypt(m_strPasswd, 123); // 判断性别 if(((CButton*)GetDlgItem(IDC_ADD_RADIO_MALE))->GetCheck()) strSex="M"; else strSex="F"; // 得到部门ID rs.Open(CRecordset::forwardOnly, "select ID from DEPARTMENT where NAME='" + m_strDepartment +"'"); rs.GetFieldValue("ID", strDepID); rs.Close(); // 得到职务代码 rs.Open(CRecordset::forwardOnly, "select CODE from JOB where DESCRIPTION='" + m_strJob +"'"); rs.GetFieldValue("CODE", strJobID); rs.Close(); // 得到受教育水平代码 rs.Open(CRecordset::forwardOnly, "select CODE from EDU_LEVEL where DESCRIPTION='" + m_strEdulevel +"'"); rs.GetFieldValue("CODE", strEduID); rs.Close(); // 写SQL语句 strSQL="insert into PERSON(ID,PASSWD,NAME,SEX,\ BIRTHDAY,DEPARTMENT,JOB,EDU_LEVEL,SPECIALTY,\ ADDRESS,TEL,EMAIL,REMARK) \ values('" + m_strID + "','" // ID + strPasswd + "','" // PASSWD + m_strName + "','" // NAME + strSex + "','" // SEX + m_strBirthday + "','" // BIRTHDAY + strDepID + "','" // DEPARTMENT + strJobID + "','" // JOB + strEduID + "','" // EDU_LEVEL + m_strSpecialty + "','" // SPECIALTY + m_strAddress + "','" // ADDRESS + m_strTel + "','" // TEL + m_strEmail + "','" // EMAIL + m_strMemo + "')"; // REMARK db.ExecuteSQL(strSQL); // 执行 // 获取人事变动记录号并累加 rs.Open(CRecordset::forwardOnly,

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧