47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
|
#ifndef __SQLSET_H
|
||
|
#define __SQLSET_H
|
||
|
|
||
|
#ifndef __RECSET_H
|
||
|
#include <recset.h>
|
||
|
#endif
|
||
|
|
||
|
///////////////////////////////////////////////////////////
|
||
|
// TSQL_recordset
|
||
|
///////////////////////////////////////////////////////////
|
||
|
|
||
|
class TSQL_recordset : public TRecordset
|
||
|
{
|
||
|
TString _sql;
|
||
|
|
||
|
TRecnotype _first_row, _pagesize, _items, _current_row;
|
||
|
TArray _column;
|
||
|
TArray _page;
|
||
|
|
||
|
protected:
|
||
|
virtual void reset();
|
||
|
void parsed_sql_text(TString& sql) const;
|
||
|
|
||
|
public: // TRecordset
|
||
|
virtual void requery();
|
||
|
virtual TRecnotype items() const;
|
||
|
virtual bool move_to(TRecnotype pos);
|
||
|
virtual TRecnotype current_row() const { return _current_row; }
|
||
|
virtual unsigned int columns() const;
|
||
|
virtual const TRecordset_column_info& column_info(unsigned int c) const;
|
||
|
virtual const TVariant& get(unsigned int column) const;
|
||
|
const TString& query_text() const { return _sql; }
|
||
|
|
||
|
public:
|
||
|
void set(const char* sql);
|
||
|
|
||
|
// Internal use only
|
||
|
virtual int on_get_items(int argc, char** values, char** columns);
|
||
|
virtual int on_get_rows(int argc, char** values);
|
||
|
const TArray* row(TRecnotype n);
|
||
|
|
||
|
TSQL_recordset(const char* sql);
|
||
|
virtual ~TSQL_recordset() { }
|
||
|
};
|
||
|
|
||
|
#endif
|