📄 tdrecord.h
字号:
#pragma once
#include <string.h>
#include "TDDBStructs.h"
typedef unsigned char TDR_RECORD_HEADER;
#define TDRH_MASK_DELETED ((TDR_RECORD_HEADER)0x01) //least significant bit
#define TDR_OK 0
#define TDRERR_COLUMN_NOT_FOUND 1
#define TDRERR_INVALID_RECORD 7
class CTDRecord
{
//////////////////////////////////////////////////////////////////////
// Public Interface
//////////////////////////////////////////////////////////////////////
public:
friend class CTDDatabase;
friend class CTDQuery;
~CTDRecord( void );
int GetField( const char* szFieldName, void* vpBuffer, unsigned int iBufferSize );
int GetField( unsigned int iIndex, void* vpBuffer, unsigned int iBufferSize );
int SetField( const char* szFieldName, void* vpBuffer, unsigned int iBufferSize );
int SetField( unsigned int iIndex, void* vpBuffer, unsigned int iBufferSize );
int GetFieldSize( unsigned int iIndex, unsigned int* lpiSizeInBytes );
int GetFieldSize( const char* szFieldName, unsigned int* lpiSizeInBytes );
int GetHeader( TDR_RECORD_HEADER* rhOut );
int SetHeader( TDR_RECORD_HEADER* rhIn );
int IsValid( void );
void operator = ( CTDRecord recOther );
//////////////////////////////////////////////////////////////////////
// Private Interface
//////////////////////////////////////////////////////////////////////
private:
CTDRecord( TDDBTable* lptableDef, unsigned int iBytesNeeded );
unsigned int GetFieldByteOffset( unsigned int iIndex );
int GetIndexFromName( const char* szFieldName, unsigned int* lpiIndex );
TDDBTable* _lptableDef;
unsigned int _iBytes;
char* _lpBuffer;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -