VTK  9.4.20241221
vtkMySQLQuery.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
24#ifndef vtkMySQLQuery_h
25#define vtkMySQLQuery_h
26
27#include "vtkIOMySQLModule.h" // For export macro
28#include "vtkSQLQuery.h"
29
30VTK_ABI_NAMESPACE_BEGIN
32class vtkVariant;
33class vtkVariantArray;
34class vtkMySQLQueryInternals;
35
36class VTKIOMYSQL_EXPORT vtkMySQLQuery : public vtkSQLQuery
37{
38
39 friend class vtkMySQLDatabase;
40
41public:
42 vtkTypeMacro(vtkMySQLQuery, vtkSQLQuery);
43 void PrintSelf(ostream& os, vtkIndent indent) override;
44 static vtkMySQLQuery* New();
45
50 bool SetQuery(const char* query) override;
51
57 bool Execute() override;
58
60
66 bool BeginTransaction() override;
67 bool CommitTransaction() override;
68 bool RollbackTransaction() override;
70
74 int GetNumberOfFields() override;
75
79 const char* GetFieldName(int i) override;
80
84 int GetFieldType(int i) override;
85
89 bool NextRow() override;
90
94 bool HasError() override;
95
100
104 const char* GetLastErrorText() override;
105
115 bool BindParameter(int index, unsigned char value) override;
116 bool BindParameter(int index, signed char value) override;
117 bool BindParameter(int index, unsigned short value) override;
118 bool BindParameter(int index, signed short value) override;
119 bool BindParameter(int index, unsigned int value) override;
120
121 bool BindParameter(int index, int value) override;
122
123 bool BindParameter(int index, unsigned long value) override;
124 bool BindParameter(int index, signed long value) override;
125 bool BindParameter(int index, unsigned long long value) override;
126 bool BindParameter(int index, long long value) override;
127
128 bool BindParameter(int index, float value) override;
129 bool BindParameter(int index, double value) override;
133 bool BindParameter(int index, const char* stringValue) override;
135
138 bool BindParameter(int index, const char* stringValue, size_t length) override;
139 bool BindParameter(int index, const vtkStdString& string) override;
141
143
148 bool BindParameter(int index, const void* data, size_t length) override;
149 bool ClearParameterBindings() override;
151
155 vtkStdString EscapeString(vtkStdString src, bool addSurroundingQuotes = true) override;
156
157protected:
159 ~vtkMySQLQuery() override;
160
161 vtkSetStringMacro(LastErrorText);
162
163private:
164 vtkMySQLQuery(const vtkMySQLQuery&) = delete;
165 void operator=(const vtkMySQLQuery&) = delete;
166
167 vtkMySQLQueryInternals* Internals;
168 bool InitialFetch;
169 char* LastErrorText;
170};
171
172VTK_ABI_NAMESPACE_END
173#endif // vtkMySQLQuery_h
a simple class to control print indentation
Definition vtkIndent.h:108
maintain a connection to a MySQL database
vtkSQLQuery implementation for MySQL databases
bool BindParameter(int index, int value) override
bool BindParameter(int index, unsigned int value) override
const char * GetLastErrorText() override
Get the last error text from the query.
bool BindParameter(int index, double value) override
bool SetQuery(const char *query) override
Set the SQL query string.
bool BindParameter(int index, unsigned long value) override
bool BindParameter(int index, const void *data, size_t length) override
Bind a blob value.
bool BindParameter(int index, float value) override
bool BindParameter(int index, unsigned long long value) override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
bool BindParameter(int index, unsigned char value) override
Bind a parameter to a placeholder in a query.
bool BindParameter(int index, const char *stringValue, size_t length) override
Bind a string value by specifying an array and a size.
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 RollbackTransaction() override
Begin, commit, or roll back a transaction.
bool ClearParameterBindings() override
Bind a blob value.
bool BindParameter(int index, signed short value) override
~vtkMySQLQuery() override
vtkStdString EscapeString(vtkStdString src, bool addSurroundingQuotes=true) override
Escape a string for use in a query.
bool BindParameter(int index, unsigned short value) override
bool BindParameter(int index, long long value) override
static vtkMySQLQuery * New()
int GetNumberOfFields() override
The number of fields in the query result.
bool BindParameter(int index, signed char value) override
bool HasError() override
Return true if there is an error on the current query.
bool BindParameter(int index, const vtkStdString &string) override
Bind a string value by specifying an array and a size.
bool NextRow() override
Advance row, return false if past end.
bool BeginTransaction() override
Begin, commit, or roll back a transaction.
vtkVariant DataValue(vtkIdType c) override
Return data in current row, field c.
bool BindParameter(int index, signed long value) override
const char * GetFieldName(int i) override
Return the name of the specified query field.
bool Execute() override
Execute the query.
int GetFieldType(int i) override
Return the type of the field, using the constants defined in vtkType.h.
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