缺少lib文件?
看看GetRecordSet函数在哪定义的,需要连接什么库?

解决方案 »

  1.   

    这是对表Departments的操作好象并不用到lib此外还缺什么头文件请指出
    Departments.cpp文件如下#include "stdafx.h"
    #include "HrSys.h"//工程的头文件
    #include "Departments.h"//表的头文件
    #include "ADOConn.h"//ADO
    #ifdef _DEBUG
    #undef THIS_FILE
    static char THIS_FILE[]=__FILE__;
    #define new DEBUG_NEW
    #endif//////////////////////////////////////////////////////////////////////
    // Construction/Destruction
    //////////////////////////////////////////////////////////////////////CDepartments::CDepartments()
    {
    DepId = 0;
    DepName = "";
    Describes = "";
    UpperId = 0;
    }CDepartments::~CDepartments()
    {}//读取和设置成员变量//数据库操作
    int CDepartments::HaveName(CString cDepName)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT * FROM Departments WHERE DepName='" + cDepName + "'";

    //执行SELECT语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    if (m_pRecordset->adoEOF)
    return -1;
    else
    return 1;
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }int CDepartments::HaveSon(CString cDepId)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT * FROM Departments WHERE UpperId=" + cDepId;

    //执行SELECT语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    if (m_pRecordset->adoEOF)
    return -1;
    else
    return 1;
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }int CDepartments::HaveEmp(CString cDepId)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT * FROM Employees WHERE DepId=" + cDepId;

    //执行SELECT语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    if (m_pRecordset->adoEOF)
    return -1;
    else
    return 1;
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }void CDepartments::Load_dep()
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT * FROM Departments ORDER BY UpperId";

    //执行SELETE语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    //初始化数组
    a_DepName.RemoveAll();
    a_DepId.RemoveAll();
    a_UpperId.RemoveAll();
    //执行SELECT语句
    while (m_pRecordset->adoEOF == 0)
    {
    a_DepId.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepId"));
    a_DepName.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepName"));
    a_UpperId.Add((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UpperId"));

    m_pRecordset->MoveNext();
    }
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }long CDepartments::sql_insert()
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置INSERT语句
    CString strUpperId;
    strUpperId.Format("%d", UpperId); _bstr_t vSQL;
    vSQL = "INSERT INTO Departments (DepName, Describes, UpperId) VALUES('" 
    + DepName + "','" + Describes + "'," + strUpperId + ")";
    //执行INSERT语句
    m_AdoConn.ExecuteSQL(vSQL); //读取最大编号
    long lDepId;
    vSQL = "SELECT MAX(DepId) AS MaxId FROM Departments";
    //执行SELETE语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
    //返回各列的值
    if (m_pRecordset->adoEOF)
    lDepId = 0;
    else
    lDepId = atol((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("MaxId"));
    //断开与数据库的连接
    m_AdoConn.ExitConnect(); return lDepId;
    }void CDepartments::sql_update(CString cDepId)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置UPDATE语句 _bstr_t vSQL;
    vSQL = "UPDATE Departments SET DepName='" + DepName 
    + "', Describes='" + Describes +"' WHERE DepId=" + cDepId;
    //执行UPDATE语句
    m_AdoConn.ExecuteSQL(vSQL);
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }void CDepartments::sql_delete(CString cDepId)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置DELETE语句
    _bstr_t vSQL;
    vSQL = "DELETE FROM Departments WHERE DepId=" + cDepId;
    //执行DELETE语句
    m_AdoConn.ExecuteSQL(vSQL);
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }//根据部门编号读取所有字段值
    void CDepartments::GetData(CString cDepId)
    {
    //连接数据库
    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    //设置SELECT语句
    _bstr_t vSQL;
    vSQL = "SELECT * FROM Departments WHERE DepId=" + cDepId;
    //执行SELETE语句
    _RecordsetPtr m_pRecordset;
    m_pRecordset = m_AdoConn.GetRecordSet(vSQL); //返回各列的值
    if (m_pRecordset->adoEOF)
    CDepartments();
    else
    {
    DepId = atoi(cDepId);
    DepName = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("DepName");
    Describes = (LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("Describes");
    UpperId = atoi((LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("UpperId"));
    }
    //断开与数据库的连接
    m_AdoConn.ExitConnect();
    }