指引网

当前位置: 主页 > 编程开发 > .NET >

ado extentsion绑定recordset冗余变量问题

来源:网络 作者:佚名 点击: 时间:2017-11-17 03:54
[摘要] 由于绑定操作是由宏实现的,ADO EXTENTSION 绑定 recordset时需要注意冗余变量问题 ,不慎将导致记录无法出来。 class CHasPrpRs : public CADORecordBinding ...{ BEGIN_ADO_BINDING(CHasPrpRs) ADO_VARIABLE_LENG

    由于绑定操作是由宏实现的,ADO EXTENTSION 绑定 recordset时需要注意冗余变量问题 ,不慎将导致记录无法出来。
    class CHasPrpRs : public CADORecordBinding
    ...{
    BEGIN_ADO_BINDING(CHasPrpRs)
    ADO_VARIABLE_LENGTH_ENTRY2(1, adVarChar, m_ch_TenantIndividualID,
    sizeof(m_ch_TenantIndividualID), m_ul_TenantIndividualIDStatus, true)
    ADO_VARIABLE_LENGTH_ENTRY2(2, adVarChar, m_ch_Email,
    sizeof(m_ch_Email), m_ul_EmailStatus, true)
    ADO_VARIABLE_LENGTH_ENTRY2(3, adVarChar, m_ch_TenantIDNumber,
    sizeof(m_ch_TenantIDNumber), m_ul_TenantIDNumberStatus, true)
    ADO_VARIABLE_LENGTH_ENTRY2(4  , adVarChar, m_ch_Name ,
    sizeof(  m_ch_Name),  m_ul_NameStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(5 , adVarChar, m_ch_Salutation ,
    sizeof( m_ch_Salutation ),  m_ul_SalutationStatus, true)
    ADO_VARIABLE_LENGTH_ENTRY2(6  , adVarChar, m_ch_Country ,
    sizeof( m_ch_Country ),  m_ul_CountryStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(7  , adVarChar, m_ch_Phone ,
    sizeof( m_ch_Phone ),  m_ul_PhoneStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(8  , adVarChar, m_ch_CellPhone ,
    sizeof( m_ch_CellPhone ),  m_ul_CellPhoneStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(9  , adVarChar, m_ch_Fax ,
    sizeof( m_ch_Fax ),  m_ul_FaxStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(10 , adVarChar, m_ch_PHS ,
    sizeof( m_ch_PHS ),  m_ul_PHSStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(11 , adVarChar, m_ch_MoveInDate ,
    sizeof( m_ch_MoveInDate ),  m_ul_MoveInDateStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(12 , adVarChar, m_ch_Company ,
    sizeof( m_ch_Company ),  m_ul_CompanyStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(13 , adVarChar, m_ch_Actived ,
    sizeof( m_ch_Actived ),  m_ul_Actived , true)
    ADO_VARIABLE_LENGTH_ENTRY2(14 , adVarChar, m_ch_MemberID ,
   
    sizeof( m_ch_MemberID ),  m_ul_MemberIDStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(15 , adVarChar, m_ch_Language ,
    sizeof( m_ch_Language ),  m_ul_LanguageStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(16 , adVarChar, m_ch_Marriage ,
    sizeof( m_ch_Marriage ),  m_ul_MarriageStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(17 , adVarChar, m_ch_Occupation ,
    sizeof( m_ch_Occupation ),  m_ul_OccupationStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(18 , adVarChar, m_ch_newsletter ,
    sizeof( m_ch_newsletter ),  m_ul_newsletterStatus , true)
    ADO_VARIABLE_LENGTH_ENTRY2(19 , adVarChar, m_ch_Gender ,
    sizeof( m_ch_Gender ),  m_ul_GenderStatus , true)

    END_ADO_BINDING()
    public:
            //<---------------------------------------------------------------------------Point A
    TCHAR m_ch_TenantIndividualID[20];    //1
    TCHAR m_ch_Email[50];                //2
    TCHAR m_ch_TenantIDNumber[50];        //3
    TCHAR m_ch_Name[150];                //4
    TCHAR m_ch_Salutation[10];            //5
    TCHAR m_ch_Country[50];                //6
    TCHAR m_ch_Phone[50];                //7
    TCHAR m_ch_CellPhone[50];            //8
    TCHAR m_ch_Fax[50];                    //9
    TCHAR m_ch_PHS[50];                    //10
    TCHAR m_ch_MoveInDate[20];//datetime    //11
    TCHAR m_ch_Company[20];                //12
    TCHAR m_ch_Actived[1];                    //13
   
     TCHAR m_ch_MemberID[20];                //14
    TCHAR m_ch_Language[10];                //15
    TCHAR m_ch_Marriage[10];                //16
    TCHAR m_ch_Occupation[10];            //17
    TCHAR m_ch_newsletter[10];            //18
    TCHAR m_ch_Gender[1];                    //19
    //int      m_i_TenantIndividualID;
    //<--------------------------------------------------------------------------------------------------------------Point B
    ULONG m_ul_TenantIndividualIDStatus;    //1
    ULONG m_ul_EmailStatus;                    //2
    ULONG m_ul_TenantIDNumberStatus;        //3
    ULONG m_ul_NameStatus;                    //4
    ULONG m_ul_SalutationStatus;            //5
    ULONG m_ul_CountryStatus;                //6
    ULONG m_ul_PhoneStatus;                    //7
    ULONG m_ul_CellPhoneStatus;                //8
    ULONG m_ul_FaxStatus;                    //9
    ULONG m_ul_PHSStatus;                    //10
    ULONG m_ul_MoveInDateStatus; //datetime    //11
    ULONG m_ul_CompanyStatus;                //12
    ULONG m_ul_Actived ;                    //13
    ULONG m_ul_MemberIDStatus;                //14
    ULONG m_ul_LanguageStatus;                //15
    ULONG m_ul_MarriageStatus;                //16
     ULONG m_ul_OccupationStatus;            //17
    ULONG m_ul_newsletterStatus;            //18
    ULONG m_ul_GenderStatus;                //19

    public:
    inline void Init()
    ...{
        //m_i_TenantIndividualID=0;
        memset(m_ch_TenantIndividualID,0,sizeof(m_ch_TenantIndividualID));    //1
        memset(m_ch_Email,0,sizeof(m_ch_Email));                //2
        memset(m_ch_TenantIDNumber,0,sizeof(m_ch_TenantIDNumber));        //3
        memset(m_ch_Name,0,sizeof(m_ch_Name));                //4
        memset(m_ch_Salutation,0,sizeof(m_ch_Salutation));            //5
        memset(m_ch_Country,0,sizeof(m_ch_Country));                //6
        memset(m_ch_Phone,0,sizeof(m_ch_Phone));                //7
        memset(m_ch_CellPhone,0,sizeof(m_ch_CellPhone));            //8
        memset(m_ch_Fax,0,sizeof(m_ch_Fax));                    //9
        memset(m_ch_PHS,0,sizeof(m_ch_PHS));                    //10
        memset(m_ch_MoveInDate,0,sizeof(m_ch_MoveInDate));//datetime    //11
        memset(m_ch_Company,0,sizeof(m_ch_Company));                //12
        memset(m_ch_Actived,0,sizeof(m_ch_Actived));                    //13
        memset(m_ch_MemberID,0,sizeof(m_ch_MemberID));                //14
        memset(m_ch_Language,0,sizeof(m_ch_Language));                //15
        memset(m_ch_Marriage,0,sizeof(m_ch_Marriage));                //16
        memset(m_ch_Occupation,0,sizeof(m_ch_Occupation));            //17
        memset(m_ch_newsletter,0,sizeof(m_ch_newsletter));            //18
        memset(m_ch_Gender,0,sizeof(m_ch_Gender));                    //19
    }
    CHasPrpRs()
    ...{
        Init();
    };
    virtual ~CHasPrpRs() ...{};

    };如上代码Point A与Point B之间不能出现冗余变量。否则有可能导致取不到值或者无法显示。

------分隔线----------------------------