//****************************************************************** // 商用库查询结果按结构对齐类 // // Author liumengjue // // function: Sql Result Align Class // // time : 2003.05.27 // //****************************************************************** #ifndef __CSQLRESULTALIGN_H #define __CSQLRESULTALIGN_H #ifdef _WINDOWS64 #ifdef ALIGN_EXPORTS #define ALIGN_API __declspec(dllexport) #else #define ALIGN_API __declspec(dllimport) #endif #else #define ALIGN_API #endif #include "db_com/DBAccess.h" #include class ALIGN_API CSqlResultAlign { public: CSqlResultAlign(); ~CSqlResultAlign(); private: int m_nMaxDataTypeLength; //最大数据类型长度 int m_nAlignLength; //按结构对齐以后的结果长度,与输入参数align_result_length作比较,检查错误 int GetDataTypeLength(int data_type); // 通过统一数据类型得到每种数据类型的长度 int GetMaxDataTypeLength(int data_type,int *m_nMaxLength);//通过统一数据类型得到最大数据类型的长度 int DoAlign(int* x, int b); public: int GetAlignResult(const char* result_link_ptr, const TResultHead *result_head_ptr, const TFieldInfo *field_info_ptr, void* align_result_ptr, int struct_length); //得到按结构对齐以后的结果 返回align_result_ptr }; #endif