00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00030 #ifndef __vtkQtSQLDatabase_h
00031 #define __vtkQtSQLDatabase_h
00032
00033
00034 #include <qglobal.h>
00035 #if (QT_EDITION & QT_MODULE_SQL)
00036
00037 #include "QVTKWin32Header.h"
00038 #include "vtkSQLDatabase.h"
00039
00040 #include <QtSql/QSqlDatabase>
00041
00042 class vtkSQLQuery;
00043 class vtkStringArray;
00044
00045 class QVTK_EXPORT vtkQtSQLDatabase : public vtkSQLDatabase
00046 {
00047 public:
00048 static vtkQtSQLDatabase* New();
00049 vtkTypeRevisionMacro(vtkQtSQLDatabase, vtkSQLDatabase);
00050 void PrintSelf(ostream& os, vtkIndent indent);
00051
00055 virtual bool Open();
00056
00058 virtual void Close();
00059
00061 virtual bool IsOpen();
00062
00064 virtual vtkSQLQuery* GetQueryInstance();
00065
00067 vtkStringArray* GetTables();
00068
00070 vtkStringArray* GetRecord(const char *table);
00071
00075 vtkStringArray* GetColumns();
00076
00080 void SetColumnsTable(const char* table);
00081
00083 virtual bool IsSupported(int feature);
00084
00086 bool HasError();
00087
00089 const char* GetLastErrorText();
00090
00092
00093 vtkGetStringMacro(DatabaseType);
00094 vtkSetStringMacro(DatabaseType);
00096
00098
00099 vtkSetStringMacro(HostName);
00100 vtkGetStringMacro(HostName);
00102
00104
00105 vtkSetStringMacro(UserName);
00106 vtkGetStringMacro(UserName);
00108
00110
00111 vtkSetStringMacro(Password);
00112 vtkGetStringMacro(Password);
00114
00116
00117 vtkSetStringMacro(DatabaseName);
00118 vtkGetStringMacro(DatabaseName);
00120
00122
00123 vtkSetStringMacro(ConnectOptions);
00124 vtkGetStringMacro(ConnectOptions);
00126
00128
00129 vtkSetClampMacro(Port, int, 0, VTK_INT_MAX);
00130 vtkGetMacro(Port, int);
00132
00134 virtual vtkStdString GetURL();
00135
00136 protected:
00137 vtkQtSQLDatabase();
00138 ~vtkQtSQLDatabase();
00139
00140 char* DatabaseType;
00141 char* HostName;
00142 char* UserName;
00143 char* Password;
00144 char* DatabaseName;
00145 int Port;
00146 char* ConnectOptions;
00147
00148 QSqlDatabase QtDatabase;
00149
00150
00151 friend class vtkQtSQLQuery;
00152
00153
00154 private:
00155
00156
00157
00158 vtkStringArray *myTables;
00159
00160
00161
00162
00163 vtkStringArray *currentRecord;
00164
00165
00166
00167 static int id;
00168
00169
00170 vtkQtSQLDatabase(const vtkQtSQLDatabase &);
00171 void operator=(const vtkQtSQLDatabase &);
00172 };
00173
00174 #endif // (QT_EDITION & QT_MODULE_SQL)
00175 #endif // __vtkQtSQLDatabase_h
00176