C 到 SQL:GUID

GUID ODBC C 数据类型的标识符为:

SQL_C_GUID

下表显示了 GUID C 数据可转换为的 ODBC SQL 数据类型。 有关表中的列和术语的说明,请参阅 将数据从 C 转换为 SQL 数据类型

SQL 类型标识符 测试 SQLSTATE
SQL_CHAR 列字节长度 >= 36 n/a
SQL_VARCHAR 列字节长度 < 36 22001
SQL_LONGVARCHAR 数据值不是有效的 GUID 22018
SQL_WCHAR 列字符长度 >= 36 n/a
SQL_WVARCHAR 列字符长度 < 36 22001
SQL_WLONGVARCHAR 数据值不是有效的 GUID 22018
SQL_GUID None[a] n/a

[a] 所有十六进制值都作为 GUID 有效。

驱动程序在从 GUID C 数据类型转换数据时忽略长度/指示器值,并假定数据缓冲区的大小是 GUID C 数据类型的大小。 长度/指示器值在 SQLPutData 中的 StrLen_or_Ind 参数中传递,并在 SQLBindParameter中使用 StrLen_or_IndPtr 参数指定的缓冲区中传递。 在 SQLPutData 中使用 DataPtr 参数和 sqlBindParameter中的 ParameterValuePtr 参数指定数据缓冲区。