00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020 #ifndef RECORDSET_H
00021 #define RECORDSET_H
00022
00023 #ifdef HAVE_CONFIG_H
00024 #include <config.h>
00025 #endif
00026
00027 #include <qstring.h>
00028 #include <qlist.h>
00029
00030 #include "dataobject.h"
00031 #include "field.h"
00032 #include "record.h"
00033 #include "recordsetiterator.h"
00034
00035 namespace KDB {
00036
00037 class Connector;
00038 class Handler;
00039
00040 class Recordset;
00041
00042 typedef KSharedPtr<Recordset> RecordsetPtr;
00043
00061 class Recordset : public DataObject {
00062 friend class Table;
00063 friend class Query;
00064 friend class Database;
00065
00066 Q_OBJECT
00067
00068 public:
00069
00070 ~Recordset();
00071
00072 RecordsetIterator begin();
00073
00074 FieldList fields();
00075
00076 bool updatable();
00077
00078 RecordPtr addRecord();
00079
00080 void requery();
00081
00082 unsigned long long count();
00083
00084 signals:
00085 void recordAdded( RecordPtr );
00086 void recordRemoved( RecordPtr );
00087 void recordUpdated( RecordPtr );
00088 void changed();
00089
00090 private:
00091
00092 Connector *connector;
00093 Recordset(Connector * conn, const QString &baseQuery, QObject *parent = 0);
00094
00095 QString m_sql;
00096 FieldList m_fields;
00097
00098 Handler *m_handle;
00099 bool m_changed;
00100
00101 };
00102
00103 }
00104
00105 #endif
00106
00107
00108
00109