2005-10-25 12:18:08 +00:00
|
|
|
#ifndef __ODBCRSET_H
|
|
|
|
#define __ODBCRSET_H
|
|
|
|
|
|
|
|
#ifndef __RECSET_H
|
|
|
|
#include <recset.h>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
class TODBC_recordset : public TRecordset
|
|
|
|
{
|
2006-04-13 17:56:02 +00:00
|
|
|
TString _dsn, _usr, _pwd, _dir;
|
2005-10-25 12:18:08 +00:00
|
|
|
TString _sql;
|
|
|
|
|
2006-04-13 17:56:02 +00:00
|
|
|
TRecnotype _first_row, _pagesize, _items, _current_row, _cursor_pos;
|
2005-10-25 12:18:08 +00:00
|
|
|
TArray _page;
|
|
|
|
|
2005-12-29 12:46:33 +00:00
|
|
|
TArray _column;
|
|
|
|
bool _columns_loaded;
|
|
|
|
|
2005-10-25 12:18:08 +00:00
|
|
|
protected:
|
|
|
|
XVT_ODBC connection() const;
|
|
|
|
void reset();
|
|
|
|
const TArray* row(TRecnotype n);
|
2009-07-15 15:10:28 +00:00
|
|
|
virtual void parsed_text(TString& sql) const;
|
2005-10-25 12:18:08 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
virtual TRecnotype items() const;
|
2005-12-29 12:46:33 +00:00
|
|
|
virtual unsigned int columns() const;
|
|
|
|
virtual const TRecordset_column_info& column_info(unsigned int c) const;
|
2005-10-25 12:18:08 +00:00
|
|
|
virtual bool move_to(TRecnotype pos);
|
|
|
|
virtual TRecnotype current_row() const;
|
|
|
|
virtual void requery();
|
|
|
|
virtual const TString& query_text() const;
|
2008-10-22 14:17:48 +00:00
|
|
|
virtual const TString& driver_version() const;
|
2005-10-25 12:18:08 +00:00
|
|
|
|
2005-12-29 12:46:33 +00:00
|
|
|
virtual const TVariant& get(unsigned int c) const;
|
|
|
|
virtual const TVariant& get(const char* name) const;
|
2005-10-25 12:18:08 +00:00
|
|
|
|
|
|
|
// Callbacks
|
2005-12-29 12:46:33 +00:00
|
|
|
int on_get_items(int argc, char** values, char** columns);
|
2005-10-25 12:18:08 +00:00
|
|
|
int on_get_columns(int argc, char** values, char** columns);
|
2005-12-29 12:46:33 +00:00
|
|
|
int on_get_rows(int argc, char** values, char** columns);
|
2005-10-25 12:18:08 +00:00
|
|
|
|
|
|
|
void set(const char* sql);
|
2005-12-29 12:46:33 +00:00
|
|
|
long exec(const char* sql);
|
2005-10-25 12:18:08 +00:00
|
|
|
|
|
|
|
bool connect(const char* dsn, const char* usr = "", const char* pwd = "", const char* dir = "");
|
2009-09-23 12:04:06 +00:00
|
|
|
|
|
|
|
const TString& dsn() const { return _dsn; }
|
|
|
|
|
2005-10-25 12:18:08 +00:00
|
|
|
TODBC_recordset(const char* sql);
|
|
|
|
virtual ~TODBC_recordset();
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|