Невозможно отличить несвязанные параметры от параметров, установленных в NULL, с использованием текущих библиотек SQLite.
Если вы посмотрите на исходный код C для sqlite3_bind_null()
, вы обнаружите, что он просто вызывает внутреннюю функцию SQLite, которая отменяет привязку параметра. Поэтому нет никакого способа разграничить два случая.
Единственное решение для этого - обернуть функции API SQLite C вашими собственными функциями, которые сделают небольшую бухгалтерию. Вы можете связать растровое изображение с каждой структурой sqlite3_stmt
, где каждый бит имеет значение true, если и только если соответствующий параметр связан. Вам нужно будет создать оболочки по крайней мере для sqlite3_bind_*()
функций и sqlite3_clear_bindings()
.