GetColumnSQLVARIANT Method

SQL-DMO

SQL-DMO

GetColumnSQLVARIANT Method

The GetColumnSQLVARIANT method retrieves a sql_variant column as an array of bytes.

Applies To
QueryResults2 Object
Syntax

object.GetColumnSQLVARIANT(
Row ,
Column ) as Byte

Parts

object

Expression that evaluates to an object in the Applies To list

Row

Long integer that identifies a row by ordinal position

Column

Long integer that identifies a column by ordinal position

Prototype (C/C++)

HRESULT GetColumnSQLVARIANT(
long lRow,
long lColumn,
LPVOID *pvData);

Returns

A sql_variant representation of the value of a QueryResults2 object result set member

Remarks

GetColumnSQLVARIANT returns the contents of a sql_variant column in a typeless form. An application written in C++ can then cast the contents of the array into the required data type.

Prior to calling GetColumnSQLVARIANT, call GetColumnSQLVARIANTDataType to retrieve the underlying data type of the specified sql_variant column, and then call the GetColumnSQLVARIANTLength method to determine the number of bytes in the column.

Examples
//Retrieve the underlying data type and number of bytes in the column.
//Then return the contents of the column.
SQLDMO_BSTR str;
Long                    lLen;
Void *                  pRetVal;
pQueryRes2out->GetColumnSQLVARIANTDataType(0, 0, _T("T1"),  &str);
pQueryRes2out->GetColumnSQLVARIANTLength(0, 0, _T("T1"),  &lLen);
pQueryRes2out->GetColumnSQLVARIANT(0, 0,  &pRetVal);
_tprintf(TEXT("%s\n"), (TCHAR *)pRetVal);
CoTaskMemFree(pRetVal);

Note  If an application calls GetColumnSQLVARIANT on an instance of SQL Server version 7.0, the constant, SQLDMO_E_SQL80ONLY, and the message "This property or method requires Microsoft SQL Server 2000" are returned.

See Also

GetColumnSQLVARIANTDataType Method

GetColumnSQLVARIANTLength Method