Поделиться через


Типы данных C по умолчанию

Если приложение указывает SQL_C_DEFAULT в SQLBindCol, SQLGetData или SQLBindParameter, драйвер предполагает, что тип данных C выходного или входного буфера соответствует типу данных SQL столбца или параметра, к которому привязан буфер.

Внимание

Совместимые приложения не должны использовать SQL_C_DEFAULT. Вместо этого они всегда должны указывать тип C используемого буфера. Это связано с тем, что драйверы не всегда могут правильно определить тип C по умолчанию по следующим причинам:

  • Если СУБД повышает тип данных SQL столбца или параметра, драйвер не может определить исходный тип данных SQL столбца или параметра. Поэтому он не может определить соответствующий тип данных C по умолчанию.

  • Если драйвер не может определить, подписан ли определенный столбец или параметр, как это часто происходит при обработке СУБД, драйвер не может определить, должен ли соответствующий тип данных C по умолчанию быть подписан или не подписан.

    Так как SQL_C_DEFAULT предоставляется только в качестве удобства программирования, приложение не теряет никаких функциональных возможностей при указании фактического типа данных C.

Таблица, показывающая тип данных C по умолчанию для каждого типа данных SQL, включена в преобразование данных из SQL в типы данных C далее в этом приложении.