1
/****************************************************************************
3
** Copyright (C) 1992-2005 Trolltech AS. All rights reserved.
5
** This file is part of the sql module of the Qt Toolkit.
7
** This file may be distributed under the terms of the Q Public License
8
** as defined by Trolltech AS of Norway and appearing in the file
9
** LICENSE.QPL included in the packaging of this file.
11
** This file may be distributed and/or modified under the terms of the
12
** GNU General Public License version 2 as published by the Free Software
13
** Foundation and appearing in the file LICENSE.GPL included in the
14
** packaging of this file.
16
** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
17
** information about Qt Commercial License Agreements.
18
** See http://www.trolltech.com/qpl/ for QPL licensing information.
19
** See http://www.trolltech.com/gpl/ for GPL licensing information.
21
** Contact info@trolltech.com if any conditions of this licensing are
24
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
25
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27
****************************************************************************/
29
#ifndef QSQLNULLDRIVER_P_H
30
#define QSQLNULLDRIVER_P_H
36
// This file is not part of the Qt API. This header file may
37
// change from version to version without notice, or even be
44
#include "qsqldriver.h"
45
#include "qsqlerror.h"
46
#include "qsqlresult.h"
48
class QSqlNullResult : public QSqlResult
51
inline explicit QSqlNullResult(const QSqlDriver* d): QSqlResult(d)
52
{ QSqlResult::setLastError(
53
QSqlError(QLatin1String("Driver not loaded"), QLatin1String("Driver not loaded"))); }
55
inline QVariant data(int) { return QVariant(); }
56
inline bool reset (const QString&) { return false; }
57
inline bool fetch(int) { return false; }
58
inline bool fetchFirst() { return false; }
59
inline bool fetchLast() { return false; }
60
inline bool isNull(int) { return false; }
61
inline int size() { return -1; }
62
inline int numRowsAffected() { return 0; }
64
inline void setAt(int) {}
65
inline void setActive(bool) {}
66
inline void setLastError(const QSqlError&) {}
67
inline void setQuery(const QString&) {}
68
inline void setSelect(bool) {}
69
inline void setForwardOnly(bool) {}
71
inline bool exec() { return false; }
72
inline bool prepare(const QString&) { return false; }
73
inline bool savePrepare(const QString&) { return false; }
74
inline void bindValue(int, const QVariant&, QSql::ParamType) {}
75
inline void bindValue(const QString&, const QVariant&, QSql::ParamType) {}
78
class QSqlNullDriver : public QSqlDriver
81
inline QSqlNullDriver(): QSqlDriver()
82
{ QSqlDriver::setLastError(
83
QSqlError(QLatin1String("Driver not loaded"), QLatin1String("Driver not loaded"))); }
84
inline bool hasFeature(DriverFeature) const { return false; }
85
inline bool open(const QString &, const QString & , const QString & ,
86
const QString &, int, const QString&)
88
inline void close() {}
89
inline QSqlResult *createResult() const { return new QSqlNullResult(this); }
92
inline void setOpen(bool) {}
93
inline void setOpenError(bool) {}
94
inline void setLastError(const QSqlError&) {}
97
#endif // QSQLNULLDRIVER_P_H