VTK  9.4.20250207
vtkODBCQuery.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
18#ifndef vtkODBCQuery_h
19#define vtkODBCQuery_h
20
21#include "vtkIOODBCModule.h" // For export macro
22#include "vtkSQLQuery.h"
23
24VTK_ABI_NAMESPACE_BEGIN
25class vtkODBCDatabase;
26class vtkVariant;
27class vtkVariantArray;
29class vtkODBCQueryInternals;
30
31class VTKIOODBC_EXPORT vtkODBCQuery : public vtkSQLQuery
32{
33
34 friend class vtkODBCDatabase;
35
36public:
37 vtkTypeMacro(vtkODBCQuery, vtkSQLQuery);
38 void PrintSelf(ostream& os, vtkIndent indent) override;
39 static vtkODBCQuery* New();
40
46 bool Execute() override;
47
51 int GetNumberOfFields() override;
52
56 const char* GetFieldName(int i) override;
57
61 int GetFieldType(int i) override;
62
66 bool NextRow() override;
67
71 bool HasError() override;
72
77
81 const char* GetLastErrorText() override;
82
84
87 bool BeginTransaction() override;
88 bool CommitTransaction() override;
89 bool RollbackTransaction() override;
91
93
98 bool SetQuery(const char* queryString) override;
99 const char* GetQuery() override;
101
111 bool BindParameter(int index, unsigned char value) override;
112 bool BindParameter(int index, signed char value) override;
113 bool BindParameter(int index, unsigned short value) override;
114 bool BindParameter(int index, signed short value) override;
115 bool BindParameter(int index, unsigned int value) override;
116
117 bool BindParameter(int index, int value) override;
118
119 bool BindParameter(int index, unsigned long value) override;
120 bool BindParameter(int index, signed long value) override;
121 bool BindParameter(int index, unsigned long long value) override;
122 bool BindParameter(int index, long long value) override;
123
124 bool BindParameter(int index, float value) override;
125 bool BindParameter(int index, double value) override;
129 bool BindParameter(int index, const char* stringValue) override;
131
134 bool BindParameter(int index, const char* stringValue, size_t length) override;
135 bool BindParameter(int index, const vtkStdString& string) override;
138
143 bool BindParameter(int index, const void* data, size_t length) override;
144 bool ClearParameterBindings() override;
146
147protected:
149 ~vtkODBCQuery() override;
150
151 vtkSetStringMacro(LastErrorText);
152 vtkSetStringMacro(QueryText);
153 vtkGetStringMacro(QueryText);
154
156
157private:
158 vtkODBCQuery(const vtkODBCQuery&) = delete;
159 void operator=(const vtkODBCQuery&) = delete;
160
161 void ClearCurrentRow();
162 bool CacheCurrentRow();
163
164 bool CacheTimeColumn(int column);
165 bool CacheIntervalColumn(int column);
166 bool CacheCharColumn(int column);
167 bool CacheLongLongColumn(int column);
168 bool CacheBinaryColumn(int column);
169 bool CacheBooleanColumn(int column);
170 bool CacheStringColumn(int column);
171 bool CacheWideStringColumn(int column);
172 bool CacheDecimalColumn(int column);
173 bool CacheNumericColumn(int column);
174 bool CacheIntColumn(int column);
175 bool CacheFloatColumn(int column);
176 bool CacheDoubleColumn(int column);
177
178 vtkODBCQueryInternals* Internals;
179 bool InitialFetch;
180 char* LastErrorText;
181};
182
183VTK_ABI_NAMESPACE_END
184#endif // vtkODBCQuery_h
a simple class to control print indentation
Definition vtkIndent.h:108
maintain an ODBC connection to a SQL database
Simple class to hide ODBC structures.
vtkSQLQuery implementation for ODBC connections to databases
bool BindParameter(int index, int value) override
bool BindParameter(int index, unsigned short value) override
bool HasError() override
Return true if there is an error on the current query.
bool BindParameter(int index, float value) override
bool BindParameter(int index, double value) override
bool BindParameter(int index, signed char value) override
bool BindParameter(int index, unsigned long value) override
static vtkODBCQuery * New()
int GetFieldType(int i) override
Return the type of the field, using the constants defined in vtkType.h.
bool BindParameter(int index, long long value) override
bool BeginTransaction() override
Begin, commit, or roll back a transaction.
bool BindParameter(int index, unsigned long long value) override
bool CommitTransaction() override
Begin, commit, or roll back a transaction.
bool BindParameter(int index, const char *stringValue) override
Bind a string value – string must be null-terminated.
bool BindParameter(int index, signed short value) override
~vtkODBCQuery() override
bool BindParameter(int index, unsigned char value) override
Bind a parameter to a placeholder in a query.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool Execute() override
Execute the query.
bool ClearParameterBindings() override
Bind a blob value.
bool BindParameter(int index, unsigned int value) override
bool SetQuery(const char *queryString) override
Set the query string to be used.
const char * GetQuery() override
Set the query string to be used.
bool BindParameter(int index, const vtkStdString &string) override
Bind a string value by specifying an array and a size.
bool RollbackTransaction() override
Begin, commit, or roll back a transaction.
const char * GetLastErrorText() override
Get the last error text from the query.
bool BindParameter(int index, const char *stringValue, size_t length) override
Bind a string value by specifying an array and a size.
vtkVariant DataValue(vtkIdType c) override
Return data in current row, field c.
bool NextRow() override
Advance row, return false if past end.
int GetNumberOfFields() override
The number of fields in the query result.
bool BindParameter(int index, const void *data, size_t length) override
Bind a blob value.
const char * GetFieldName(int i) override
Return the name of the specified query field.
bool BindParameter(int index, signed long value) override
executes an sql query and retrieves results
Definition vtkSQLQuery.h:60
virtual bool BindParameter(int index, unsigned char value)
Bind a parameter to a placeholder in a query.
Wrapper around std::string to keep symbols short.
An array holding vtkVariants.
A type representing the union of many types.
Definition vtkVariant.h:162
int vtkIdType
Definition vtkType.h:315