summaryrefslogtreecommitdiffstats
path: root/doc/src/classes/q3sqlfieldinfo.qdoc
blob: ba064f38437d317d911b77cc13260834c3b15a9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the either Technology Preview License Agreement or the
** Beta Release License Agreement.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain
** additional rights. These rights are described in the Nokia Qt LGPL
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at http://www.qtsoftware.com/contact.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \class Q3SqlFieldInfo
    \brief The Q3SqlFieldInfo class stores meta data associated with a SQL field.

    \compat

    Q3SqlFieldInfo objects only store meta data; field values are
    stored in QSqlField objects.

    All values must be set in the constructor, and may be retrieved
    using isRequired(), type(), length(), precision(), defaultValue(),
    name(), isGenerated() and typeID().

    \sa Q3SqlRecordInfo
*/

/*!
    \fn Q3SqlFieldInfo::Q3SqlFieldInfo(const QString& name,
                                       QVariant::Type typ,
                                       int required,
                                       int len,
                                       int prec,
                                       const QVariant& defValue,
                                       int typeID,
                                       bool generated,
                                       bool trim,
                                       bool calculated)

    Constructs a Q3SqlFieldInfo with the following parameters:
    \table
    \row \i \a name  \i the name of the field.
    \row \i \a typ   \i the field's type in a QVariant.
    \row \i \a required  \i greater than 0 if the field is required, 0
    if its value can be NULL and less than 0 if it cannot be
    determined whether the field is required or not.
    \row \i \a len  \i the length of the field. Note that for
    non-character types some databases return either the length in
    bytes or the number of digits. -1 signifies that the length cannot
    be determined.
    \row \i \a prec  \i the precision of the field, or -1 if the field
    has no precision or it cannot be determined.
    \row \i \a defValue  \i the default value that is inserted into
    the table if none is specified by the user. QVariant() if there is
    no default value or it cannot be determined.
    \row \i \a typeID  \i the internal typeID of the database system
    (only useful for low-level programming). 0 if unknown.
    \row \i \a generated  \i TRUE indicates that this field should be
    included in auto-generated SQL statments, e.g. in Q3SqlCursor.
    \row \i \a trim  \i TRUE indicates that widgets should remove
    trailing whitespace from character fields. This does not affect
    the field value but only its representation inside widgets.
    \row \i \a calculated  \i TRUE indicates that the value of this
    field is calculated. The value of calculated fields can by
    modified by subclassing Q3SqlCursor and overriding
    Q3SqlCursor::calculateField().
    \endtable
*/

/*!
    \fn Q3SqlFieldInfo::~Q3SqlFieldInfo()

    Destroys the object and frees any allocated resources.
*/

/*!
    \fn Q3SqlFieldInfo::Q3SqlFieldInfo(const QSqlField & other)

    Creates a Q3SqlFieldInfo object with the type and the name of the
    QSqlField \a other.
*/

/*!
    \fn bool Q3SqlFieldInfo::operator==(const Q3SqlFieldInfo& other) const

    Assigns \a other to this field info and returns a reference to it.
*/

/*!
    \fn QSqlField Q3SqlFieldInfo::toField() const

    Returns an empty QSqlField based on the information in this
    Q3SqlFieldInfo.
*/

/*!
    \fn int Q3SqlFieldInfo::isRequired() const

    Returns a value greater than 0 if the field is required (NULL
    values are not allowed), 0 if it isn't required (NULL values are
    allowed) or less than 0 if it cannot be determined whether the
    field is required or not.
*/

/*!
    \fn QVariant::Type Q3SqlFieldInfo::type() const

    Returns the field's type or QVariant::Invalid if the type is
    unknown.
*/

/*!
    \fn int Q3SqlFieldInfo::length() const

    Returns the field's length. For fields storing text the return
    value is the maximum number of characters the field can hold. For
    non-character fields some database systems return the number of
    bytes needed or the number of digits allowed. If the length cannot
    be determined -1 is returned.
*/

/*!
    \fn int Q3SqlFieldInfo::precision() const

    Returns the field's precision or -1 if the field has no precision
    or it cannot be determined.
*/

/*!
    \fn QVariant Q3SqlFieldInfo::defaultValue() const

    Returns the field's default value or an empty QVariant if the
    field has no default value or the value couldn't be determined.
    The default value is the value inserted in the database when it
    is not explicitly specified by the user.
*/

/*!
    \fn QString Q3SqlFieldInfo::name() const

    Returns the name of the field in the SQL table.
*/

/*!
    \fn int Q3SqlFieldInfo::typeID() const

    Returns the internal type identifier as returned from the database
    system. The return value is 0 if the type is unknown.
*/

/*!
    \fn bool Q3SqlFieldInfo::isGenerated() const

    Returns TRUE if the field should be included in auto-generated
    SQL statments, e.g. in Q3SqlCursor; otherwise returns FALSE.

    \sa setGenerated()
*/

/*!
    \fn bool Q3SqlFieldInfo::isTrim() const

    Returns TRUE if trailing whitespace should be removed from
    character fields; otherwise returns FALSE.

    \sa setTrim()
*/

/*!
    \fn bool Q3SqlFieldInfo::isCalculated() const

    Returns TRUE if the field is calculated; otherwise returns FALSE.

    \sa setCalculated()
*/

/*!
    \fn void Q3SqlFieldInfo::setTrim(bool trim)

    If \a trim is TRUE widgets should remove trailing whitespace from
    character fields. This does not affect the field value but only
    its representation inside widgets.

    \sa isTrim()
*/

/*!
    \fn void Q3SqlFieldInfo::setGenerated(bool generated)

    \a generated set to FALSE indicates that this field should not appear
    in auto-generated SQL statements (for example in Q3SqlCursor).

    \sa isGenerated()
*/

/*!
    \fn void Q3SqlFieldInfo::setCalculated(bool calculated)

    \a calculated set to TRUE indicates that this field is a calculated
    field. The value of calculated fields can by modified by subclassing
    Q3SqlCursor and overriding Q3SqlCursor::calculateField().

    \sa isCalculated()
*/