WARNING: USE THIS SOFTWARE AT YOUR OWN RISK! THIS IS EXPERIMENTAL SOFTWARE NOT INTENDED FOR PRODUCTION USE! Zuble is currently an early stage prototype. As such Zuble is minimally tested and inherently unstable. It is provided for experimental, development, and demonstration purposes only. Zuble QML Types   |  Zuble C++ Classes   |  Zuble Overview
Zuble  0.1
Zuble Framework C++/QML extension API
ZsqlRecord.h
Go to the documentation of this file.
1 /*
2 * Zuble - A run-time system for QML/Javascript applications
3 * Copyright (C) 2013, 2014 Bob Dinitto
4 *
5 * Filename: ZsqlRecord.h
6 * Created on: 11/9/2014
7 * Author: Bob Dinitto
8 *
9 * Zuble is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 *
23 */
24 
25 #ifndef ZSQLRECORD_H
26 #define ZSQLRECORD_H
27 
28 #include <QObject>
29 #include <QSqlRecord>
30 #include <QVariant>
31 
32 namespace Zbl
33 {
34 
39 class ZsqlRecord : public QObject
40 {
41  friend class ZsqlQuery;
42  friend class ZsqlDatabase;
43 
44  Q_OBJECT
45 public:
46  explicit ZsqlRecord(QObject *parent = 0);
47 
52  Q_PROPERTY(int count READ getCount)
53 
54  int getCount() const;
55 
56  Q_INVOKABLE QVariant value(int i) const;
57  Q_INVOKABLE QVariant value(const QString& name) const;
58  Q_INVOKABLE void setValue(int i, const QVariant& val);
59  Q_INVOKABLE void setValue(const QString& name, const QVariant& val);
60 
61  Q_INVOKABLE void setNull(int i);
62  Q_INVOKABLE void setNull(const QString& name);
63  Q_INVOKABLE bool isNull(int i) const;
64  Q_INVOKABLE bool isNull(const QString& name) const;
65 
66  Q_INVOKABLE int indexOf(const QString &name) const;
67  Q_INVOKABLE QString fieldName(int i) const;
68 
69  Q_INVOKABLE bool isGenerated(int i) const;
70  Q_INVOKABLE bool isGenerated(const QString& name) const;
71  Q_INVOKABLE void setGenerated(const QString& name, bool generated);
72  Q_INVOKABLE void setGenerated(int i, bool generated);
73 
74  Q_INVOKABLE bool isEmpty() const;
75  Q_INVOKABLE bool contains(const QString& name) const;
76 
77  Q_INVOKABLE void clear();
78  Q_INVOKABLE void clearValues();
79 
80  Q_INVOKABLE QObject* keyValues(QObject* keyFieldsRecord);
81 
82 
84  // QSqlField field(int i) const;
85  // QSqlField field(const QString &name) const;
86  // void append(const QSqlField& field);
87  // void replace(int pos, const QSqlField& field);
88  // void insert(int pos, const QSqlField& field);
89  // void remove(int pos);
90  // void append(const QSqlField& field);
91  // void replace(int pos, const QSqlField& field);
92  // void insert(int pos, const QSqlField& field);
93  // void remove(int pos);
95 
96 
97 signals:
98 
99 public slots:
100 
101 
102 protected:
103 
107  QSqlRecord m_r;
108 };
109 
110 } // Zbl
111 
112 #endif // ZSQLRECORD_H
Q_INVOKABLE bool contains(const QString &name) const
Definition: ZsqlRecord.cpp:145
Q_INVOKABLE void clear()
Definition: ZsqlRecord.cpp:152
Q_INVOKABLE QObject * keyValues(QObject *keyFieldsRecord)
Definition: ZsqlRecord.cpp:173
Q_INVOKABLE void setNull(int i)
Definition: ZsqlRecord.cpp:64
Q_INVOKABLE void setValue(int i, const QVariant &val)
Definition: ZsqlRecord.cpp:50
Q_INVOKABLE QString fieldName(int i) const
Definition: ZsqlRecord.cpp:102
ZsqlRecord(QObject *parent=0)
Definition: ZsqlRecord.cpp:31
QSqlRecord m_r
Encapsulated QSqlRecord object.
Definition: ZsqlRecord.h:107
A javascript wrapper class for QSqlDatabase objects. This object represents a database connection...
Definition: ZsqlDatabase.h:71
Definition: ZAndGate.cpp:6
A javascript wrapper class for QSqlQuery objects. This object represents a query on a database connec...
Definition: ZsqlQuery.h:67
Q_INVOKABLE void clearValues()
Definition: ZsqlRecord.cpp:159
Javascript wrapper for a QSqlRecord object.
Definition: ZsqlRecord.h:39
Q_INVOKABLE bool isEmpty() const
Definition: ZsqlRecord.cpp:138
Q_INVOKABLE void setGenerated(const QString &name, bool generated)
Definition: ZsqlRecord.cpp:124
Q_INVOKABLE int indexOf(const QString &name) const
Definition: ZsqlRecord.cpp:95
Q_INVOKABLE bool isNull(int i) const
Definition: ZsqlRecord.cpp:80
int getCount() const
Definition: ZsqlRecord.cpp:166
Q_INVOKABLE bool isGenerated(int i) const
Definition: ZsqlRecord.cpp:110
Q_INVOKABLE QVariant value(int i) const
Definition: ZsqlRecord.cpp:36
int count
Determines the number of fields in this record.
Definition: ZsqlRecord.h:52