Платформы корпоративных информационных систем


Пример 13-12. Реализация класса Row



Пример 13-12. Реализация класса Row


#include <malloc.h>

#include "row.h"

Row::Row(T_RESULT *res, T_ROW row) {

fields = row;

result = res; }

Row::"Row() {

if( ! IsClosed() ) {

Close();

}

}

void Row::Close() {

if( IsClosed() ) {

throw "Строка освобождена.";

}

fields = (T_ROW)NULL;

result = (T_RESULT *)NULL;

}

int Row::GetFieldCount()

{

if( IsClosed() )

{

throw "Строка освобождена.";

} #if defined(HASJISQL)

return msqlNumFields(result);

#elif defined(HAS_MYSQL)

return mysql_num_fields(result);

#else

#error Нет соединения с базой данных,

#endif }

// При вызове этого метода нужно быть готовым

// к тому, что может быть возвращен

NULL, char *Row::GetField(int field)

{

if( IsClosed() )

{

throw "Строка освобождена.";

}

if( field < 1 || field > GetFieldCount() .)

{ throw "Индех лежит вне допустимых значений.";}

return fields[field-1]; }

int Row::IsClosed() {

return (fields == (T_ROW)NULL); }

Пример приложения, использующего эти классы C++, прилагается к книге.









Начало  Назад