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
|
// qsqldriver.sip generated by MetaSIP on Sat Jul 15 18:43:36 2006
//
// This file is part of the QtSql Python extension module.
//
// Copyright (c) 2006
// Riverbank Computing Limited <info@riverbankcomputing.co.uk>
//
// This file is part of PyQt.
//
// This copy of PyQt is free software; you can redistribute it and/or modify it
// under the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2, or (at your option) any later
// version.
//
// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
// details.
//
// You should have received a copy of the GNU General Public License along with
// PyQt; see the file LICENSE. If not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
class QSqlDriver : QObject
{
%TypeHeaderCode
#include <qsqldriver.h>
%End
%ConvertToSubClassCode
static struct class_graph {
char *name;
sipWrapperType **type;
int yes, no;
} graph[] = {
{sipName_QSqlQueryModel, &sipClass_QSqlQueryModel, 3, 1},
{sipName_QSqlRelationalDelegate, &sipClass_QSqlRelationalDelegate, -1, 2},
{sipName_QSqlDriver, &sipClass_QSqlDriver, -1, -1},
{sipName_QSqlTableModel, &sipClass_QSqlTableModel, 4, -1},
{sipName_QSqlRelationalTableModel, &sipClass_QSqlRelationalTableModel, -1, -1},
};
int i = 0;
sipClass = NULL;
do
{
struct class_graph *cg = &graph[i];
if (cg->name != NULL && sipCpp->inherits(cg->name))
{
sipClass = *cg->type;
i = cg->yes;
}
else
i = cg->no;
}
while (i >= 0);
%End
public:
enum DriverFeature
{
Transactions,
QuerySize,
BLOB,
Unicode,
PreparedQueries,
NamedPlaceholders,
PositionalPlaceholders,
LastInsertId,
BatchOperations,
};
enum StatementType
{
WhereStatement,
SelectStatement,
UpdateStatement,
InsertStatement,
DeleteStatement,
};
enum IdentifierType
{
FieldName,
TableName,
};
explicit QSqlDriver(QObject *parent /TransferThis/ = 0);
virtual ~QSqlDriver();
virtual bool isOpen() const;
bool isOpenError() const;
virtual bool beginTransaction() /ReleaseGIL/;
virtual bool commitTransaction() /ReleaseGIL/;
virtual bool rollbackTransaction() /ReleaseGIL/;
virtual QStringList tables(QSql::TableType tableType) const;
virtual QSqlIndex primaryIndex(const QString &tableName) const;
virtual QSqlRecord record(const QString &tableName) const;
virtual QString formatValue(const QSqlField &field, bool trimStrings = false) const;
virtual QString escapeIdentifier(const QString &identifier, QSqlDriver::IdentifierType type) const;
virtual QString sqlStatement(QSqlDriver::StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const;
QSqlError lastError() const;
virtual QVariant handle() const;
virtual bool hasFeature(QSqlDriver::DriverFeature f) const = 0;
virtual void close() = 0;
virtual QSqlResult *createResult() const = 0 /Factory/;
virtual bool open(const QString &db, const QString &user = QString(), const QString &password = QString(), const QString &host = QString(), int port = -1, const QString &connOpts = QString()) = 0 /ReleaseGIL/;
protected:
virtual void setOpen(bool o);
virtual void setOpenError(bool e);
virtual void setLastError(const QSqlError &e);
private:
QSqlDriver(const QSqlDriver &);
};
|