home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / qt3_emx.zip / include / qsqldriver.h < prev    next >
C/C++ Source or Header  |  2001-08-07  |  4KB  |  110 lines

  1. /****************************************************************************
  2. **
  3. ** Definition of QSqlDriver class
  4. **
  5. ** Created : 2000-11-03
  6. **
  7. ** Copyright (C) 2000 Trolltech AS.  All rights reserved.
  8. **
  9. ** This file is part of the sql module of the Qt GUI Toolkit.
  10. **
  11. ** This file may be distributed under the terms of the Q Public License
  12. ** as defined by Trolltech AS of Norway and appearing in the file
  13. ** LICENSE.QPL included in the packaging of this file.
  14. **
  15. ** This file may be distributed and/or modified under the terms of the
  16. ** GNU General Public License version 2 as published by the Free Software
  17. ** Foundation and appearing in the file LICENSE.GPL included in the
  18. ** packaging of this file.
  19. **
  20. ** Licensees holding valid Qt Enterprise Edition licenses may use this
  21. ** file in accordance with the Qt Commercial License Agreement provided
  22. ** with the Software.
  23. **
  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.
  26. **
  27. ** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
  28. **   information about Qt Commercial License Agreements.
  29. ** See http://www.trolltech.com/qpl/ for QPL licensing information.
  30. ** See http://www.trolltech.com/gpl/ for GPL licensing information.
  31. **
  32. ** Contact info@trolltech.com if any conditions of this licensing are
  33. ** not clear to you.
  34. **
  35. **********************************************************************/
  36.  
  37. #ifndef QSQLDRIVER_H
  38. #define QSQLDRIVER_H
  39.  
  40. #ifndef QT_H
  41. #include "qobject.h"
  42. #include "qstring.h"
  43. #include "qsqlerror.h"
  44. #include "qsqlquery.h"
  45. #include "qsqlfield.h"
  46. #include "qsqlindex.h"
  47. #include "qstringlist.h"
  48. #endif // QT_H
  49.  
  50. #if !defined( QT_MODULE_SQL ) || defined( QT_LICENSE_PROFESSIONAL )
  51. #define QM_EXPORT_SQL
  52. #else
  53. #define QM_EXPORT_SQL Q_EXPORT
  54. #endif
  55.  
  56. #ifndef QT_NO_SQL
  57.  
  58. class QSqlDatabase;
  59.  
  60. class QM_EXPORT_SQL QSqlDriver : public QObject
  61. {
  62.     friend class QSqlDatabase;
  63.     Q_OBJECT
  64. public:
  65.     enum DriverFeature { Transactions, QuerySize, BLOB };
  66.  
  67.     QSqlDriver( QObject * parent=0, const char * name=0 );
  68.     ~QSqlDriver();
  69.  
  70.     bool            isOpen() const;
  71.     bool            isOpenError() const;
  72.  
  73.     virtual bool        beginTransaction();
  74.     virtual bool        commitTransaction();
  75.     virtual bool        rollbackTransaction();
  76.     virtual QStringList        tables( const QString& user ) const;
  77.     virtual QSqlIndex        primaryIndex( const QString& tableName ) const;
  78.     virtual QSqlRecord        record( const QString& tableName ) const;
  79.     virtual QSqlRecord        record( const QSqlQuery& query ) const;
  80.     virtual QSqlRecordInfo    recordInfo( const QString& tablename ) const;
  81.     virtual QSqlRecordInfo    recordInfo( const QSqlQuery& query ) const;
  82.     virtual QString        nullText() const;
  83.     virtual QString        formatValue( const QSqlField* field, bool trimStrings = FALSE ) const;
  84.     QSqlError            lastError() const;
  85.  
  86.     virtual bool        hasFeature( DriverFeature f ) const = 0;
  87.     virtual bool        open( const QString & db,
  88.                     const QString & user = QString::null,
  89.                     const QString & password = QString::null,
  90.                     const QString & host = QString::null,
  91.                 int port = -1 ) = 0;
  92.     virtual void        close() = 0;
  93.     virtual QSqlQuery        createQuery() const = 0;
  94.  
  95. protected:
  96.     virtual void        setOpen( bool o );
  97.     virtual void        setOpenError( bool e );
  98.     virtual void        setLastError( const QSqlError& e );
  99. private:
  100.     int                  dbState;
  101.     QSqlError              error;
  102. #if defined(Q_DISABLE_COPY)
  103.     QSqlDriver( const QSqlDriver & );
  104.     QSqlDriver &operator=( const QSqlDriver & );
  105. #endif
  106. };
  107.  
  108. #endif    // QT_NO_SQL
  109. #endif
  110.