⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tdrecord.h

📁 This a simple database management system. It doesn t use any other code (i.e. ODBC, ADO, etc.) and h
💻 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 + -