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 |