Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QSQLFIELD_H
00043 #define QSQLFIELD_H
00044
00045 #include <QtCore/qvariant.h>
00046 #include <QtCore/qstring.h>
00047
00048 QT_BEGIN_HEADER
00049
00050 QT_BEGIN_NAMESPACE
00051
00052 QT_MODULE(Sql)
00053
00054 class QSqlFieldPrivate;
00055
00056 class Q_SQL_EXPORT QSqlField
00057 {
00058 public:
00059 enum RequiredStatus { Unknown = -1, Optional = 0, Required = 1 };
00060
00061 QSqlField(const QString& fieldName = QString(),
00062 QVariant::Type type = QVariant::Invalid);
00063
00064 QSqlField(const QSqlField& other);
00065 QSqlField& operator=(const QSqlField& other);
00066 bool operator==(const QSqlField& other) const;
00067 inline bool operator!=(const QSqlField &other) const { return !operator==(other); }
00068 ~QSqlField();
00069
00070 void setValue(const QVariant& value);
00071 inline QVariant value() const
00072 { return val; }
00073 void setName(const QString& name);
00074 QString name() const;
00075 bool isNull() const;
00076 void setReadOnly(bool readOnly);
00077 bool isReadOnly() const;
00078 void clear();
00079 QVariant::Type type() const;
00080 bool isAutoValue() const;
00081
00082 void setType(QVariant::Type type);
00083 void setRequiredStatus(RequiredStatus status);
00084 inline void setRequired(bool required)
00085 { setRequiredStatus(required ? Required : Optional); }
00086 void setLength(int fieldLength);
00087 void setPrecision(int precision);
00088 void setDefaultValue(const QVariant &value);
00089 void setSqlType(int type);
00090 void setGenerated(bool gen);
00091 void setAutoValue(bool autoVal);
00092
00093 RequiredStatus requiredStatus() const;
00094 int length() const;
00095 int precision() const;
00096 QVariant defaultValue() const;
00097 int typeID() const;
00098 bool isGenerated() const;
00099 bool isValid() const;
00100
00101 #ifdef QT3_SUPPORT
00102 inline QT3_SUPPORT void setNull() { clear(); }
00103 #endif
00104
00105 private:
00106 void detach();
00107 QVariant val;
00108 QSqlFieldPrivate* d;
00109 };
00110
00111 #ifndef QT_NO_DEBUG_STREAM
00112 Q_SQL_EXPORT QDebug operator<<(QDebug, const QSqlField &);
00113 #endif
00114
00115 QT_END_NAMESPACE
00116
00117 QT_END_HEADER
00118
00119 #endif // QSQLFIELD_H