CString CDataBaseODBCDlg::VariantToCString(CDBVariant* var)
{
CString str; //转换以后的字符串
if(!var)
{
str = "NULL Var Parameter";
return str;
}
switch(var->m_dwType)
{
case DBVT_SHORT:
str.Format(L"%d",(int)var->m_iVal);
break;
case DBVT_LONG:
str.Format(L"%d",var->m_lVal);
break;
case DBVT_SINGLE:
str.Format(L"%10.6f",(double)var->m_fltVal);
break;
case DBVT_DOUBLE:
str.Format(L"%10.6f",var->m_dblVal);
break;
case DBVT_BOOL:
str = (var->m_boolVal==0) ?L"FALSE": L"TRUE";
break;
case DBVT_STRING:
str = var->m_pstring->GetBuffer();
break;
case DBVT_ASTRING: 
str = var->m_pstringA->GetBuffer(); 
break; 
case DBVT_WSTRING: 
str = var->m_pstringW->GetBuffer(); 
break;
case DBVT_DATE: str.Format(L"%d-%d-%d",(var->m_pdate)->year,(var->m_pdate)->month,(var->m_pdate)->day);
break;
default:
str.Format(L"Unk type %d\n",var->m_dwType);
TRACE(L"Unknown type %d\n",var->m_dwType);
}
return str;
}
}

解决方案 »

  1.   

    1>------ 已启动生成: 项目: DataBaseODBC, 配置: Debug Win32 ------
    1>生成启动时间为 2012/7/31 星期二 10:53:35。
    1>InitializeBuildStatus:
    1>  正在对“Debug\DataBaseODBC.unsuccessfulbuild”执行 Touch 任务。
    1>ClCompile:
    1>  所有输出均为最新。
    1>  DataBaseODBCDlg.cpp
    1>e:\vc\databaseodbc\databaseodbc\databaseodbcdlg.cpp(226): error C2601: “CDataBaseODBCDlg::VariantToCString”: 本地函数定义是非法的
    1>          e:\vc\databaseodbc\databaseodbc\databaseodbcdlg.cpp(187): 此行有一个“{”没有匹配项
    1>
    1>生成失败。
    1>
    1>已用时间 00:00:00.27
    ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========