Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_Record_DS.h

00001 #ifndef __FL_RECORD_DS_H__
00002 #define __FL_RECORD_DS_H__
00003 
00004 #include <efltk/Fl_Map.h>
00005 #include <efltk/Fl_String.h>
00006 #include <efltk/Fl_Data_Source.h>
00007 #include <efltk/db/Fl_Query.h>
00008 #include <efltk/db/Fl_Database.h>
00009 #include <efltk/Fl_Dialog_DS.h>
00010 #include <efltk/Fl_Variant.h>
00011 
00012 class FL_API Fl_Record_DS : public Fl_Dialog_DS {
00013 protected:
00014     Fl_String           m_tableName;
00015     Fl_String           m_keyField;
00016     Fl_Variant          m_keyValue;
00017     bool                m_queriesAreBuilt;
00018     Fl_Query           *m_selectQuery;
00019     Fl_Query           *m_updateQuery;
00020     Fl_Query           *m_insertQuery;
00021     Fl_Query           *m_saveQuery;
00022     int                 m_recordCount;
00023     bool                        m_forceInsert;
00024 
00025     virtual bool build_queries();
00026 
00027 public:
00028     Fl_Record_DS(Fl_Database *db=NULL,Fl_String tableName="",Fl_String keyField="");
00029     ~Fl_Record_DS();
00030 
00032     virtual unsigned record_count() const { return m_recordCount; }
00033 
00035     void       setup(Fl_Database *db,const Fl_String tableName,const Fl_String keyField);
00036 
00038     virtual void database(Fl_Database *);
00039     Fl_Database *database() const;
00040 
00041     void       table(const Fl_String tname);
00042     Fl_String  table() const { return m_tableName; }
00043 
00044     void       key_field(const Fl_String);
00045     Fl_String  key_field() const { return m_keyField; }
00046 
00047     void       key_value(Fl_Variant);
00048     Fl_Variant key_value() const;
00049 
00051     virtual bool load_data();
00052     virtual bool save_data();
00053 
00057     void force_insert(bool fi=true) { m_forceInsert = fi; }
00058 };
00059 
00060 #endif

Generated on Thu Jul 31 15:33:45 2003 for eFLTK by doxygen1.2.15