Udostępnij przez


Struktura SSVARIANT

The SSVARIANT structure, which is defined in sqlncli.h, corresponds to a DBTYPE_SQLVARIANT value in the SQL Server Native klient OLEDB dostawca.

SSVARIANT jest różnicująca związku.Depending on the value of the vt member, the consumer can determine which member to read.vt values correspond to SQL Server data types.Dlatego też SSVARIANT Struktura może zawierać dowolny typ programu SQL Server. Aby uzyskać więcej informacji na temat struktury danych dla standardowych typów baz danych OLE zobacz Typ wskaźników.

Remarks

Gdy DataTypeCompat == 80, wiele SSVARIANT ciągi podtypów stają się. Na przykład następujące wartości vt pojawią się w SSVARIANT jak VT_SS_WVARSTRING:

  • VT_SS_DATETIMEOFFSET

  • VT_SS_DATETIME2

  • VT_SS_TIME2

  • VT_SS_DATE

Gdy DateTypeCompat == 0, te typy pojawią się w ich macierzystych formularza.

Aby uzyskać więcej informacji na temat SSPROP_INIT_DATATYPECOMPATIBILITY zobacz Przy użyciu słów kluczowych ciąg połączenia z SQL Server Native klient.

Plik sqlncli.h zawiera makra wariantu dostępu, które upraszczają dereferencing typów element członkowski w SSVARIANT Struktura. Przykładem jest V_SS_DATETIMEOFFSET, którego można użyć w następujący sposób:

memcpy(&V_SS_DATETIMEOFFSET(pssVar).tsoDateTimeOffsetVal, pDTO, cbNative);
V_SS_DATETIMEOFFSET(pssVar).bScale = bScale;

Pełny zestaw makra dostępu dla każdego element członkowski członkowski SSVARIANT Struktura, zajrzyj do pliku sqlncli.hi.

W poniższej tabela opisano członków SSVARIANT Struktura:

Element członkowski

Wskaźnik typu OLE DB

Typ danych OLE DB C

wartość VT

Komentarze

vt

SSVARTYPE

Określa typ zawartych w wartości SSVARIANT Struktura.

bTinyIntVal

DBTYPE_UI1

BYTE

VT_SS_UI1

Supports the tinyintSQL Server data type.

sShortIntVal

DBTYPE_I2

SHORT

VT_SS_I2

Supports the smallintSQL Server data type.

lIntVal

DBTYPE_I4

LONG

VT_SS_I4

Supports the intSQL Server data type.

llBigIntVal

DBTYPE_I8

LARGE_INTEGER

VT_SS_I8

Supports the bigintSQL Server data type.

fltRealVal

DBTYPE_R4

float

VT_SS_R4

Supports the realSQL Server data type.

dblFloatVal

DBTYPE_R8

double

VT_SS_R8

Supports the floatSQL Server data type.

cyMoneyVal

DBTYPE_CY

LARGE_INTEGER

VT_SS_MONEY VT_SS_SMALLMONEY 

Supports the money and smallmoneySQL Server data types.

fBitVal

DBTYPE_BOOL

VARIANT_BOOL

VT_SS_BIT

Supports the bitSQL Server data type.

rgbGuidVal

DBTYPE_GUID

GUID

VT_SS_GUID

Supports the uniqueidentifierSQL Server data type.

numNumericVal

DBTYPE_NUMERIC

DB_NUMERIC

VT_SS_NUMERIC

Supports the numericSQL Server data type.

dDateVal

DBTYPE_DATE

DBDATE

VT_SS_DATE

Supports the dateSQL Server data type.

tsDateTimeVal

DBTYPE_DBTIMESTAMP

DBTIMESTAMP

VT_SS_SMALLDATETIME VT_SS_DATETIME VT_SS_DATETIME2

Supports the smalldatetime, datetime, and datetime2SQL Server data types.

Time2Val

DBTYPE_DBTIME2

DBTIME2

VT_SS_TIME2

Supports the timeSQL Server data type.

Zawiera następujące elementy:

tTime2Val (DBTIME2)

bScale (BYTE) Określa skalę tTime2Val wartość.

DateTimeVal

DBTYPE_DBTIMESTAMP

DBTIMESTAMP

VT_SS_DATETIME2

Supports the datetime2SQL Server data type.

Zawiera następujące elementy:

tsDataTimeVal (DBTIMESTAMP)

bScale (BYTE) Określa skalę tsDataTimeVal wartość.

DateTimeOffsetVal

DBTYPE_DBTIMESTAMPOFSET

DBTIMESTAMPOFFSET

VT_SS_DATETIMEOFFSET

Supports the datetimeoffsetSQL Server data type.

Zawiera następujące elementy:

tsoDateTimeOffsetVal (DBTIMESTAMPOFFSET)

bScale (BYTE) Określa skalę tsoDateTimeOffsetVal wartość.

NCharVal

Nie odpowiedni wskaźnik typu OLE DB.

struct _NCharVal

VT_SS_WVARSTRING,

VT_SS_WSTRING

Supports the nchar and nvarcharSQL Server data types.

Zawiera następujące elementy:

sActualLength (SHORT) Określa długość rzeczywista dla ciąg, do którego pwchNCharVal punkty. Nie obejmuje zakończenia na zero.

sMaxLength (SHORT) Określa maksymalną długość ciąg, do którego pwchNCharVal punkty.

pwchNCharVal (WCHAR *) Wskaźnik do ciąg.

Nieużywane elementy członkowskie: rgbReserved, dwReserved, a pwchReserved.

CharVal

Nie odpowiedni wskaźnik typu OLE DB.

struct _CharVal

VT_SS_STRING,

VT_SS_VARSTRING

Supports the char and varcharSQL Server data types.

Zawiera następujące elementy:

sActualLength (SHORT) Określa rzeczywistej długości ciąg, do którego pchCharVal punkty. Nie obejmuje zakończenia na zero.

sMaxLength (SHORT) Określa maksymalną długość ciąg, do którego pchCharVal punkty.

pchCharVal (CHAR *) Wskaźnik do ciąg.

Nieużywane elementy członkowskie:

rgbReserved, dwReserved, a pwchReserved.

BinaryVal

Nie odpowiedni wskaźnik typu OLE DB.

struct _BinaryVal

VT_SS_VARBINARY,

VT_SS_BINARY

Supports the binary and varbinarySQL Server data types.

Zawiera następujące elementy:

sActualLength (SHORT) Określa rzeczywistej długości danych, do którego prgbBinaryVal punkty.

sMaxLength (SHORT) Określa maksymalną długość danych, do którego prgbBinaryVal punkty.

prgbBinaryVal (BYTE *) Wskaźnik do danych binarnych.

Nieużywanych element członkowski: dwReserved.

UnknownType

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

BLOBType

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

See Also

Concepts