从 C 到 SQL:GUID
GUID ODBC C 数据类型的标识符为:
SQL_C_GUID
下表显示了 GUID C 数据可以转换为的 ODBC SQL 数据类型。 有关表中的列和术语的说明,请参阅 将数据从 C 转换为 SQL 数据类型。
SQL 类型标识符 | 测试 | SQLSTATE |
---|---|---|
SQL_CHAR | 列字节长度 >= 36 | 不适用 |
SQL_VARCHAR | 列字节长度 < 36 | 22001 |
SQL_LONGVARCHAR | 数据值不是有效的 GUID | 22018 |
SQL_WCHAR | 列字符长度 >= 36 | 不适用 |
SQL_WVARCHAR | 列字符长度 < 36 | 22001 |
SQL_WLONGVARCHAR | 数据值不是有效的 GUID | 22018 |
SQL_GUID | None[a] | 不适用 |
[a] 所有十六进制值都作为 GUID 有效。
从 GUID C 数据类型转换数据时,驱动程序会忽略长度/指示器值,并假定数据缓冲区的大小是 GUID C 数据类型的大小。 length/indicator 值在 SQLPutData 中的 StrLen_or_Ind 参数中传递,并在 SQLBindParameter 中使用 StrLen_or_IndPtr 参数指定的缓冲区中传递。 数据缓冲区使用 SQLPutData 中的 DataPtr 参数和 SQLBindParameter 中的 ParameterValuePtr 参数指定。