55 lines
1.2 KiB
C
55 lines
1.2 KiB
C
|
#ifndef _INCLUDE_SOURCEMOD_MYSQL_RESULTSET_H
|
||
|
#define _INCLUDE_SOURCEMOD_MYSQL_RESULTSET_H
|
||
|
|
||
|
#include "MysqlHeaders.h"
|
||
|
|
||
|
namespace SourceMod
|
||
|
{
|
||
|
class MysqlResultSet;
|
||
|
|
||
|
class MysqlResultRow : public IResultRow
|
||
|
{
|
||
|
friend class MysqlResultSet;
|
||
|
public:
|
||
|
MysqlResultRow();
|
||
|
public:
|
||
|
const char *GetString(unsigned int columnId);
|
||
|
double GetDouble(unsigned int columnId);
|
||
|
float GetFloat(unsigned int columnId);
|
||
|
int GetInt(unsigned int columnId);
|
||
|
bool IsNull(unsigned int columnId);
|
||
|
const char *GetRaw(unsigned int columnId, size_t *length);
|
||
|
private:
|
||
|
const char *GetStringSafe(unsigned int columnId);
|
||
|
private:
|
||
|
MYSQL_ROW m_CurRow;
|
||
|
unsigned long *m_Lengths;
|
||
|
unsigned int m_Columns;
|
||
|
};
|
||
|
|
||
|
class MysqlResultSet : public IResultSet
|
||
|
{
|
||
|
public:
|
||
|
MysqlResultSet(MYSQL_RES *res);
|
||
|
~MysqlResultSet();
|
||
|
public:
|
||
|
void FreeHandle();
|
||
|
public:
|
||
|
unsigned int RowCount();
|
||
|
unsigned int FieldCount();
|
||
|
const char *FieldNumToName(unsigned int num);
|
||
|
bool FieldNameToNum(const char *name, unsigned int *columnId);
|
||
|
public:
|
||
|
bool IsDone();
|
||
|
IResultRow *GetRow();
|
||
|
void NextRow();
|
||
|
private:
|
||
|
MYSQL_RES *m_pRes;
|
||
|
MysqlResultRow m_kRow;
|
||
|
unsigned int m_Columns;
|
||
|
unsigned int m_Rows;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
#endif //_INCLUDE_SOURCEMOD_MYSQL_RESULTSET_H
|