_variant_t vName = pRecordset->GetCollect("Name");
CString name = _T("");
if (vName.vt != VT_NULL) {
name = (TCHAR*)(_bstr_t)vName; // 安全轉換
} else {
name = _T(""); // 顯式置空
}
_variant_t 接收字段值,通過 vt 成員判斷類型。VT_NULL 表示數據庫 NULL,不同於空字符串或零值。_variant_t → _bstr_t → TCHAR*,確保 Unicode/ANSI 兼容。本文出自「walker」博客,轉載請保留出處:原文鏈接