Udostępnij za pośrednictwem


Struktura SSVARIANT

SSVARIANT Odpowiada wartości DBTYPE_SQLVARIANT w strukturze, która jest zdefiniowana w sqlncli.h, SQL Server dostawca OLEDB macierzystym klienta.

SSVARIANT jest różnicująca Unii.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 SSVARIANT struktury może pomieścić dowolnego typu programu SQL Server.Aby uzyskać więcej informacji dotyczących struktury danych dla standardowych typów OLE DB, zobacz Wskaźników typu.

Uwagi

Gdy DataTypeCompat == 80, kilka SSVARIANT stają się podtypów ciągi.Na przykład, następujące wartości vt pojawią się w SSVARIANT jako 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 o SSPROP_INIT_DATATYPECOMPATIBILITY, zobacz Słowa kluczowe ciąg połączenia przy użyciu programu SQL Server Native Client.

Plik sqlncli.h zawiera makra wariantu dostępu, które upraszczają dereferencji typów element członkowski w SSVARIANT struktury.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 program access dla każdego element członkowski SSVARIANT strukturę, zajrzyj do pliku sqlncli.hi.

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

Element członkowski

Wskaźnika typu OLE DB

C typ danych OLE DB

wartość VT

Komentarze

vt

SSVARTYPE

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

bTinyIntVal

DBTYPE_UI1

BYTE

VT_SS_UI1

Supports the tinyint SQL Server data type.

sShortIntVal

DBTYPE_I2

SHORT

VT_SS_I2

Supports the smallint SQL Server data type.

lIntVal

DBTYPE_I4

LONG

VT_SS_I4

Supports the int SQL Server data type.

llBigIntVal

DBTYPE_I8

LARGE_INTEGER

VT_SS_I8

Supports the bigint SQL Server data type.

fltRealVal

DBTYPE_R4

float

VT_SS_R4

Supports the real SQL Server data type.

dblFloatVal

DBTYPE_R8

double

VT_SS_R8

Supports the float SQL Server data type.

cyMoneyVal

DBTYPE_CY

LARGE_INTEGER

VT_SS_MONEY VT_SS_SMALLMONEY 

Supports the money and smallmoney SQL Server data types.

fBitVal

DBTYPE_BOOL

VARIANT_BOOL

VT_SS_BIT

Supports the bit SQL Server data type.

rgbGuidVal

DBTYPE_GUID

GUID

VT_SS_GUID

Supports the uniqueidentifier SQL Server data type.

numNumericVal

DBTYPE_NUMERIC

DB_NUMERIC

VT_SS_NUMERIC

Supports the numeric SQL Server data type.

dDateVal

DBTYPE_DATE

DBDATE

VT_SS_DATE

Supports the date SQL Server data type.

tsDateTimeVal

DBTYPE_DBTIMESTAMP

DBTIMESTAMP

VT_SS_SMALLDATETIME VT_SS_DATETIME VT_SS_DATETIME2

Supports the smalldatetime, datetime, and datetime2 SQL Server data types.

Time2Val

DBTYPE_DBTIME2

DBTIME2

VT_SS_TIME2

Supports the time SQL Server data type.

Zawiera następujące elementy:

tTime2Val (DBTIME2)

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

DateTimeVal

DBTYPE_DBTIMESTAMP

DBTIMESTAMP

VT_SS_DATETIME2

Supports the datetime2 SQL Server data type.

Zawiera następujące elementy:

tsDataTimeVal (ODCISK CZASOWY)

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

DateTimeOffsetVal

DBTYPE_DBTIMESTAMPOFSET

DBTIMESTAMPOFFSET

VT_SS_DATETIMEOFFSET

Supports the datetimeoffset SQL Server data type.

Zawiera następujące elementy:

tsoDateTimeOffsetVal (DBTIMESTAMPOFFSET)

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

NCharVal

Nie odpowiedniego wskaźnika typu OLE DB.

struct _NCharVal

VT_SS_WVARSTRING,

VT_SS_WSTRING

Supports the nchar and nvarchar SQL Server data types.

Zawiera następujące elementy:

sActualLength(SHORT) Określa rzeczywista długość ciąg, do której pwchNCharVal punktów.Nie obejmuje kończące zero.

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

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

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

CharVal

Nie odpowiedniego wskaźnika typu OLE DB.

struct _CharVal

VT_SS_STRING,

VT_SS_VARSTRING

Supports the char and varchar SQL Server data types.

Zawiera następujące elementy:

sActualLength(SHORT) Określa rzeczywista długość ciąg, do którego pchCharVal punktów.Nie obejmuje kończące zero.

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

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

Nieużywane elementy członkowskie:

rgbReserved, dwReserved, and pwchReserved.

BinaryVal

Nie odpowiedniego wskaźnika typu OLE DB.

struct _BinaryVal

VT_SS_VARBINARY,

VT_SS_BINARY

Supports the binary and varbinary SQL Server data types.

Zawiera następujące elementy:

sActualLength(SHORT) Określa długość rzeczywistych danych, do której prgbBinaryVal punktów.

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

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

Nieużywane element członkowski: dwReserved.

UnknownType

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

BLOBType

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

NIEUŻYWANE

Zobacz także

Koncepcje