Harlinn.Windows 0.1
Loading...
Searching...
No Matches
Harlinn::ODBC Namespace Reference

Namespaces

namespace  Internal
 
namespace  MsSql
 

Classes

class  Connection
 
class  DataReader
 
struct  DataSource
 
class  Date
 
class  Descriptor
 A descriptor is a collection of metadata that describes the parameters of an SQL statement or the columns of a result set, as seen by the application or driver. More...
 
struct  DiagnosticRecord
 
struct  Driver
 
class  Environment
 
class  FixedDBBinary
 
class  FixedDBString
 
class  Interval
 
struct  Money
 
class  Numeric
 
struct  ParameterDescription
 
struct  RowVersion
 
class  SqlHandle
 This template implements functionality common to the ODBC handle wrapper classes. More...
 
struct  SqlState
 
class  Statement
 
class  Time
 
class  Time2
 
class  TimeStamp
 
struct  TimeStampOffset
 

Typedefs

template<size_t maxSize>
using FixedDBWideString = FixedDBString<wchar_t, maxSize>
 
template<size_t maxSize>
using FixedDBAnsiString = FixedDBString<char, maxSize>
 
using DBBoolean = Internal::DBValue<bool>
 
using DBSByte = Internal::DBValue<SByte>
 
using DBByte = Internal::DBValue<Byte>
 
using DBInt16 = Internal::DBValue<Int16>
 
using DBUInt16 = Internal::DBValue<UInt16>
 
using DBInt32 = Internal::DBValue<Int32>
 
using DBUInt32 = Internal::DBValue<UInt32>
 
using DBInt64 = Internal::DBValue<Int64>
 
using DBUInt64 = Internal::DBValue<UInt64>
 
template<typename T >
using DBEnum = Internal::DBValue<T>
 
using DBSingle = Internal::DBValue<float>
 
using DBDouble = Internal::DBValue<double>
 
using DBDateTime = Internal::DBValue<DateTime>
 
using DBTimeSpan = Internal::DBValue<TimeSpan>
 
using DBGuid = Internal::DBValue<Guid>
 
using DBCurrency = Internal::DBValue<Currency>
 
using DBWideString = Internal::DBValue<WideString>
 
using DBAnsiString = Internal::DBValue<AnsiString>
 
using DBBinary = Internal::DBValue<Binary>
 
using DBTimeStamp = Internal::DBValue<TimeStamp>
 
using DBDate = Internal::DBValue<Date>
 
using DBTime = Internal::DBValue<Time>
 
using DBTime2 = Internal::DBValue<Time2>
 
using DBInterval = Internal::DBValue<Interval>
 
using DBTimeStampOffset = Internal::DBValue<TimeStampOffset>
 
using DBNumeric = Internal::DBValue<Numeric>
 
using DBDecimal = Internal::DBValue<Numeric>
 
using DBMoney = Internal::DBValue<Money>
 
using DBRowVersion = Internal::DBValue<RowVersion>
 

Enumerations

enum class  HandleType : SQLSMALLINT {
  Environment = SQL_HANDLE_ENV ,
  Connection = SQL_HANDLE_DBC ,
  Statement = SQL_HANDLE_STMT ,
  Descriptor = SQL_HANDLE_DESC
}
 
enum class  Result : SQLRETURN {
  InvalidHandle = SQL_INVALID_HANDLE ,
  Error = SQL_ERROR ,
  Success = SQL_SUCCESS ,
  SuccessWithInfo = SQL_SUCCESS_WITH_INFO ,
  StillExecuting = SQL_STILL_EXECUTING ,
  NeedData = SQL_NEED_DATA ,
  NoData = SQL_NO_DATA ,
  ParameterDataAvailable = SQL_PARAM_DATA_AVAILABLE
}
 
enum class  BulkOperation : SQLSMALLINT {
  Add = SQL_ADD ,
  UpdateByBookmark = SQL_UPDATE_BY_BOOKMARK ,
  DeleteByBookmark = SQL_DELETE_BY_BOOKMARK ,
  FetchByBookmark = SQL_FETCH_BY_BOOKMARK
}
 
enum class  ConnectionPooling : UInt32 {
  Off = SQL_CP_OFF ,
  Default = SQL_CP_DEFAULT ,
  OnePerDriver = SQL_CP_ONE_PER_DRIVER ,
  OnePerEnvironment = SQL_CP_ONE_PER_HENV ,
  DriverAware = SQL_CP_DRIVER_AWARE
}
 
enum class  Version : UInt32 {
  Version2 = SQL_OV_ODBC2 ,
  Version3 = SQL_OV_ODBC3 ,
  Version3_80 = SQL_OV_ODBC3_80
}
 
enum class  FetchOrientation : SQLUSMALLINT {
  Next = SQL_FETCH_NEXT ,
  First = SQL_FETCH_FIRST ,
  Last = SQL_FETCH_LAST ,
  Prior = SQL_FETCH_PRIOR ,
  Absolute = SQL_FETCH_ABSOLUTE ,
  Relative = SQL_FETCH_RELATIVE ,
  FirstForUser = SQL_FETCH_FIRST_USER ,
  FirstForSystem =SQL_FETCH_FIRST_SYSTEM
}
 
enum class  Nullable : SQLSMALLINT {
  No = SQL_NO_NULLS ,
  Yes = SQL_NULLABLE ,
  Unknown = SQL_NULLABLE_UNKNOWN
}
 
enum class  AccessMode : SQLUINTEGER {
  Default = SQL_MODE_DEFAULT ,
  ReadWrite = SQL_MODE_READ_WRITE ,
  ReadOnly = SQL_MODE_READ_ONLY
}
 
enum class  ParameterDirection : SQLSMALLINT {
  Unknown = SQL_PARAM_TYPE_UNKNOWN ,
  Input = SQL_PARAM_INPUT ,
  InputOutput = SQL_PARAM_INPUT_OUTPUT ,
  ResultColumn = SQL_RESULT_COL ,
  Output = SQL_PARAM_OUTPUT ,
  ReturnValue = SQL_RETURN_VALUE ,
  InputOutputStream = SQL_PARAM_INPUT_OUTPUT_STREAM ,
  OutputStream = SQL_PARAM_OUTPUT_STREAM
}
 
enum class  SearchPredicates : SQLSMALLINT {
  None = SQL_PRED_NONE ,
  Unsearchable = SQL_UNSEARCHABLE ,
  Char = SQL_PRED_CHAR ,
  LikeOnly = SQL_LIKE_ONLY ,
  Basic = SQL_PRED_BASIC ,
  AllExceptLike = SQL_ALL_EXCEPT_LIKE ,
  Searchable = SQL_PRED_SEARCHABLE
}
 
enum class  CursorSensitivity : SQLULEN {
  Unspecified = SQL_UNSPECIFIED ,
  Insensitive = SQL_INSENSITIVE ,
  Sensitive = SQL_SENSITIVE
}
 
enum class  CursorType : SQLULEN {
  ForwardOnly = SQL_CURSOR_FORWARD_ONLY ,
  KeysetDriven = SQL_CURSOR_KEYSET_DRIVEN ,
  Dynamic = SQL_CURSOR_DYNAMIC ,
  Static = SQL_CURSOR_STATIC ,
  Default = ForwardOnly
}
 
enum class  SimulateCursor : UInt64 {
  NonInique = SQL_SC_NON_UNIQUE ,
  TryUnique = SQL_SC_TRY_UNIQUE ,
  Unique = SQL_SC_UNIQUE ,
  Default = Unique
}
 
enum class  SqlType : SQLSMALLINT {
  Unknown = SQL_UNKNOWN_TYPE ,
  Char = SQL_CHAR ,
  Numeric = SQL_NUMERIC ,
  Decimal = SQL_DECIMAL ,
  Integer = SQL_INTEGER ,
  SmallInt = SQL_SMALLINT ,
  VarChar = SQL_VARCHAR ,
  LongVarChar = SQL_LONGVARCHAR ,
  WChar = SQL_WCHAR ,
  WVarChar = SQL_WVARCHAR ,
  WLongVarChar = SQL_WLONGVARCHAR ,
  Real = SQL_REAL ,
  Float = SQL_FLOAT ,
  Double = SQL_DOUBLE ,
  Bit = SQL_BIT ,
  TinyInt = SQL_TINYINT ,
  BigInt = SQL_BIGINT ,
  Binary = SQL_BINARY ,
  VarBinary = SQL_VARBINARY ,
  LongVarBinary = SQL_LONGVARBINARY ,
  Date = SQL_TYPE_DATE ,
  DateTime = SQL_DATETIME ,
  Time = SQL_TYPE_TIME ,
  TimeStamp = SQL_TYPE_TIMESTAMP ,
  IntervalMonth = SQL_INTERVAL_MONTH ,
  IntervalYear = SQL_INTERVAL_YEAR ,
  IntervalYearToMonth = SQL_INTERVAL_YEAR_TO_MONTH ,
  IntervalDay = SQL_INTERVAL_DAY ,
  IntervalHour = SQL_INTERVAL_HOUR ,
  IntervalMinute = SQL_INTERVAL_MINUTE ,
  IntervalSecond = SQL_INTERVAL_SECOND ,
  IntervalDayToHour = SQL_INTERVAL_DAY_TO_HOUR ,
  IntervalDayToMinute = SQL_INTERVAL_DAY_TO_MINUTE ,
  IntervalDayToSecond = SQL_INTERVAL_DAY_TO_SECOND ,
  IntervalHourToMinute = SQL_INTERVAL_HOUR_TO_MINUTE ,
  IntervalHourToSecond = SQL_INTERVAL_HOUR_TO_SECOND ,
  IntervalMinuteToSecond = SQL_INTERVAL_MINUTE_TO_SECOND ,
  Guid = SQL_GUID ,
  TimeStampOffset = MsSql::SQL_SS_TIMESTAMPOFFSET ,
  Time2 = MsSql::SQL_SS_TIME2
}
 
enum class  NativeType : SQLSMALLINT {
  Char = SQL_C_CHAR ,
  WideChar = SQL_C_WCHAR ,
  Long = SQL_C_LONG ,
  Short = SQL_C_SHORT ,
  Single = SQL_C_FLOAT ,
  Double = SQL_C_DOUBLE ,
  Numeric = SQL_C_NUMERIC ,
  Default = SQL_C_DEFAULT ,
  SignedOffset = SQL_SIGNED_OFFSET ,
  UnsignedOffset = SQL_UNSIGNED_OFFSET ,
  Date = SQL_C_DATE ,
  Time = SQL_C_TIME ,
  TimeStamp = SQL_C_TIMESTAMP ,
  TypeDate = SQL_C_TYPE_DATE ,
  TypeTime = SQL_C_TYPE_TIME ,
  TypeTimeStamp = SQL_C_TYPE_TIMESTAMP ,
  IntervalYear = SQL_C_INTERVAL_YEAR ,
  IntervalMonth = SQL_C_INTERVAL_MONTH ,
  IntervalDay = SQL_C_INTERVAL_DAY ,
  IntervalHour = SQL_C_INTERVAL_HOUR ,
  IntervalMinute = SQL_C_INTERVAL_MINUTE ,
  IntervalSecond = SQL_C_INTERVAL_SECOND ,
  IntervalYearToMonth = SQL_C_INTERVAL_YEAR_TO_MONTH ,
  IntervalDayToHour = SQL_C_INTERVAL_DAY_TO_HOUR ,
  IntervalDayToMinute = SQL_C_INTERVAL_DAY_TO_MINUTE ,
  IntervalDayToSecond = SQL_C_INTERVAL_DAY_TO_SECOND ,
  IntervalHourToMinute = SQL_C_INTERVAL_HOUR_TO_MINUTE ,
  IntervalHourToSecond = SQL_C_INTERVAL_HOUR_TO_SECOND ,
  IntervalMinuteToSecond = SQL_C_INTERVAL_MINUTE_TO_SECOND ,
  Binary = SQL_C_BINARY ,
  Bit = SQL_C_BIT ,
  Boolean = SQL_C_BIT ,
  Int64 = SQL_C_SBIGINT ,
  UInt64 = SQL_C_UBIGINT ,
  TinyInt = SQL_C_TINYINT ,
  Int32 = SQL_C_SLONG ,
  Int16 = SQL_C_SSHORT ,
  SByte = SQL_C_STINYINT ,
  UInt32 = SQL_C_ULONG ,
  UInt16 = SQL_C_USHORT ,
  Byte = SQL_C_UTINYINT ,
  Bookmark = SQL_C_BOOKMARK ,
  Guid = SQL_C_GUID
}
 
enum class  Concurrency {
  Unknown ,
  ReadOnly = SQL_CONCUR_READ_ONLY ,
  Lock = SQL_CONCUR_LOCK ,
  RowVersion = SQL_CONCUR_ROWVER ,
  Values = SQL_CONCUR_VALUES ,
  Default = ReadOnly
}
 
enum class  DriverCompletion : SQLUSMALLINT {
  None = SQL_DRIVER_NOPROMPT ,
  Complete = SQL_DRIVER_COMPLETE ,
  Prompt = SQL_DRIVER_PROMPT ,
  CompleteRequired = SQL_DRIVER_COMPLETE_REQUIRED
}
 
enum class  TransactionCompletionType : SQLSMALLINT {
  Commit = SQL_COMMIT ,
  Rollback = SQL_ROLLBACK
}
 
enum class  IntervalType {
  Year = SQL_IS_YEAR ,
  Month = SQL_IS_MONTH ,
  Day = SQL_IS_DAY ,
  Hour = SQL_IS_HOUR ,
  Minute = SQL_IS_MINUTE ,
  Second = SQL_IS_SECOND ,
  YearToMonth = SQL_IS_YEAR_TO_MONTH ,
  DayToHour = SQL_IS_DAY_TO_HOUR ,
  DayToMinute = SQL_IS_DAY_TO_MINUTE ,
  DayToSecond = SQL_IS_DAY_TO_SECOND ,
  HourToMinute = SQL_IS_HOUR_TO_MINUTE ,
  HourToSecond = SQL_IS_HOUR_TO_SECOND ,
  MinuteToSecond = SQL_IS_MINUTE_TO_SECOND
}
 

Functions

constexpr bool Succeeded (Result result)
 
constexpr bool Failed (Result result)
 

Typedef Documentation

◆ DBAnsiString

◆ DBBinary

◆ DBBoolean

◆ DBByte

◆ DBCurrency

◆ DBDate

◆ DBDateTime

◆ DBDecimal

◆ DBDouble

◆ DBEnum

template<typename T >
using Harlinn::ODBC::DBEnum = Internal::DBValue<T>

◆ DBGuid

◆ DBInt16

◆ DBInt32

◆ DBInt64

◆ DBInterval

◆ DBMoney

◆ DBNumeric

◆ DBRowVersion

◆ DBSByte

◆ DBSingle

◆ DBTime

◆ DBTime2

◆ DBTimeSpan

◆ DBTimeStamp

◆ DBTimeStampOffset

◆ DBUInt16

◆ DBUInt32

◆ DBUInt64

◆ DBWideString

◆ FixedDBAnsiString

template<size_t maxSize>
using Harlinn::ODBC::FixedDBAnsiString = FixedDBString<char, maxSize>

◆ FixedDBWideString

template<size_t maxSize>
using Harlinn::ODBC::FixedDBWideString = FixedDBString<wchar_t, maxSize>

Enumeration Type Documentation

◆ AccessMode

enum class Harlinn::ODBC::AccessMode : SQLUINTEGER
strong
Enumerator
Default 
ReadWrite 
ReadOnly 

◆ BulkOperation

enum class Harlinn::ODBC::BulkOperation : SQLSMALLINT
strong
Enumerator
Add 
UpdateByBookmark 
DeleteByBookmark 
FetchByBookmark 

◆ Concurrency

enum class Harlinn::ODBC::Concurrency
strong
Enumerator
Unknown 
ReadOnly 

Cursor is read-only. No updates are allowed.

Lock 

Cursor uses the lowest level of locking sufficient to ensure that the row can be updated.

RowVersion 

Cursor uses optimistic concurrency control, comparing row versions.

Values 

Cursor uses optimistic concurrency control, comparing values.

Default 

◆ ConnectionPooling

Enumerator
Off 

Connection pooling is turned off. This is the default.

Default 

Connection pooling is turned off. This is the default.

OnePerDriver 

A single connection pool is supported for each driver. Every connection in a pool is associated with one driver.

OnePerEnvironment 

A single connection pool is supported for each environment. Every connection in a pool is associated with one environment.

DriverAware 

Use the connection-pool awareness feature of the driver, if it is available. If the driver does not support connection-pool awareness, DriverAware is ignored and OnePerEnvironment is used. For more information, see Driver-Aware Connection Pooling. In an environment where some drivers support and some drivers do not support connection-pool awareness, DriverAware can enable the connection-pool awareness feature on those supporting drivers, but it is equivalent to setting to OnePerEnvironment on those drivers that do not support connection-pool awareness feature.

◆ CursorSensitivity

enum class Harlinn::ODBC::CursorSensitivity : SQLULEN
strong
Enumerator
Unspecified 

It is unspecified what the cursor type is and whether cursors on the statement handle make visible the changes made to a result set by another cursor. Cursors on the statement handle may make visible none, some, or all such changes.

This is the default.

Insensitive 

All cursors on the statement handle show the result set without reflecting any changes made to it by any other cursor. Insensitive cursors are read-only. This corresponds to a static cursor, which has a concurrency that is read-only.

Sensitive 

All cursors on the statement handle make visible all changes made to a result set by another cursor.

◆ CursorType

enum class Harlinn::ODBC::CursorType : SQLULEN
strong
Enumerator
ForwardOnly 

The cursor only scrolls forward.

KeysetDriven 

The driver saves and uses the keys for the number of rows specified in the KeysetSize( ) (SQL_ATTR_KEYSET_SIZE) statement attribute.

Dynamic 

The driver saves and uses only the keys for the rows in the rowset.

Static 

The data in the result set is static.

Default 

The default is ForwardOnly.

◆ DriverCompletion

enum class Harlinn::ODBC::DriverCompletion : SQLUSMALLINT
strong
Enumerator
None 
Complete 
Prompt 
CompleteRequired 

◆ FetchOrientation

enum class Harlinn::ODBC::FetchOrientation : SQLUSMALLINT
strong
Enumerator
Next 
First 
Last 
Prior 
Absolute 
Relative 
FirstForUser 
FirstForSystem 

◆ HandleType

enum class Harlinn::ODBC::HandleType : SQLSMALLINT
strong
Enumerator
Environment 
Connection 
Statement 
Descriptor 

◆ IntervalType

enum class Harlinn::ODBC::IntervalType
strong
Enumerator
Year 
Month 
Day 
Hour 
Minute 
Second 
YearToMonth 
DayToHour 
DayToMinute 
DayToSecond 
HourToMinute 
HourToSecond 
MinuteToSecond 

◆ NativeType

enum class Harlinn::ODBC::NativeType : SQLSMALLINT
strong
Enumerator
Char 
WideChar 
Long 
Short 
Single 
Double 
Numeric 
Default 
SignedOffset 
UnsignedOffset 
Date 
Time 
TimeStamp 
TypeDate 
TypeTime 
TypeTimeStamp 
IntervalYear 
IntervalMonth 
IntervalDay 
IntervalHour 
IntervalMinute 
IntervalSecond 
IntervalYearToMonth 
IntervalDayToHour 
IntervalDayToMinute 
IntervalDayToSecond 
IntervalHourToMinute 
IntervalHourToSecond 
IntervalMinuteToSecond 
Binary 
Bit 
Boolean 
Int64 
UInt64 
TinyInt 
Int32 
Int16 
SByte 
UInt32 
UInt16 
Byte 
Bookmark 
Guid 

◆ Nullable

enum class Harlinn::ODBC::Nullable : SQLSMALLINT
strong
Enumerator
No 
Yes 
Unknown 

◆ ParameterDirection

enum class Harlinn::ODBC::ParameterDirection : SQLSMALLINT
strong
Enumerator
Unknown 
Input 
InputOutput 
ResultColumn 
Output 
ReturnValue 
InputOutputStream 
OutputStream 

◆ Result

enum class Harlinn::ODBC::Result : SQLRETURN
strong
Enumerator
InvalidHandle 
Error 
Success 
SuccessWithInfo 
StillExecuting 
NeedData 
NoData 
ParameterDataAvailable 

◆ SearchPredicates

enum class Harlinn::ODBC::SearchPredicates : SQLSMALLINT
strong
Enumerator
None 
Unsearchable 
Char 
LikeOnly 
Basic 
AllExceptLike 
Searchable 

◆ SimulateCursor

Enumerator
NonInique 

The driver does not guarantee that simulated positioned update or delete statements will affect only one row; it is the application's responsibility to do so.

TryUnique 

The driver attempts to guarantee that simulated positioned update or delete statements affect only one row. The driver always executes such statements, even if they might affect more than one row, such as when there is no unique key.

Unique 

The driver guarantees that simulated positioned update or delete statements affect only one row.

Default 

◆ SqlType

enum class Harlinn::ODBC::SqlType : SQLSMALLINT
strong
Enumerator
Unknown 
Char 
Numeric 
Decimal 
Integer 
SmallInt 
VarChar 
LongVarChar 
WChar 
WVarChar 
WLongVarChar 
Real 
Float 
Double 
Bit 
TinyInt 
BigInt 
Binary 
VarBinary 
LongVarBinary 
Date 
DateTime 
Time 
TimeStamp 
IntervalMonth 
IntervalYear 
IntervalYearToMonth 
IntervalDay 
IntervalHour 
IntervalMinute 
IntervalSecond 
IntervalDayToHour 
IntervalDayToMinute 
IntervalDayToSecond 
IntervalHourToMinute 
IntervalHourToSecond 
IntervalMinuteToSecond 
Guid 
TimeStampOffset 
Time2 

◆ TransactionCompletionType

enum class Harlinn::ODBC::TransactionCompletionType : SQLSMALLINT
strong
Enumerator
Commit 
Rollback 

◆ Version

enum class Harlinn::ODBC::Version : UInt32
strong
Enumerator
Version2 
Version3 
Version3_80 

Function Documentation

◆ Failed()

bool Harlinn::ODBC::Failed ( Result result)
inlineconstexpr

◆ Succeeded()

bool Harlinn::ODBC::Succeeded ( Result result)
inlineconstexpr