4#ifndef _Stroika_Foundation_Database_SQL_Statement_h_
5#define _Stroika_Foundation_Database_SQL_Statement_h_ 1
7#include "Stroika/Foundation/StroikaPreComp.h"
12#include "Stroika/Foundation/Common/Property.h"
13#include "Stroika/Foundation/Containers/Mapping.h"
14#include "Stroika/Foundation/Containers/Sequence.h"
25namespace Stroika::Foundation::Database::SQL {
27 using Characters::String;
28 using Containers::Mapping;
29 using Containers::Sequence;
30 using DataExchange::VariantValue;
153 nonvirtual
void Bind ();
210 nonvirtual
void Reset ();
244 size_t restrictToColumn3);
263 size_t restrictToColumn3);
275 unique_ptr<IRep> _fRep;
289 virtual ~IRep () =
default;
304 virtual void Bind () = 0;
305 virtual void Bind (
unsigned int parameterIndex,
const VariantValue& v) = 0;
339#include "Statement.inl"
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
virtual String GetSQL(WhichSQLFlag whichSQL) const =0
virtual optional< Row > GetNextRow()=0
nonvirtual void Reset()
resets the prepared statement back to the beginning of its program (this does NOT clear bindings)
nonvirtual optional< Row > GetNextRow()
nonvirtual String ToString() const
nonvirtual String GetSQL(WhichSQLFlag whichSQL=WhichSQLFlag::eOriginal) const
nonvirtual Sequence< ColumnDescription > GetColumns() const
nonvirtual Sequence< ParameterDescription > GetParameters() const
nonvirtual Sequence< Row > GetAllRemainingRows()
Call GetNextRow () repeatedly, and accumulate Rows into a Sequence (
nonvirtual void Execute()
nonvirtual Sequence< Row > GetAllRows()
call Reset (), and then GetAllRemainingRows () - which always starts current statement with current b...
NOT a real mutex - just a debugging infrastructure support tool so in debug builds can be assured thr...
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.
nonvirtual String ToString() const
nonvirtual String ToString() const