amxmodx/dlls/mysqlx/mysql/MysqlResultSet.h
2006-04-23 01:10:06 +00:00

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