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 |