CCommand的Open只能执行DML语句

解决方案 »

  1.   

    CCommand应该也可以执行ddl的吧?!不过要用CNoRowset作模板参数……
      

  2.   

    CCommand<CNoAccessor, CNoRowset> command;
    CString strSQL;
    int area = ((CComboBox*)GetDlgItem(IDC_AREA_COMBO))->GetItemData(m_atArea);
    strSQL.Format(_T("update dbo.T_CheckpointInfo set BarCode = '%s',\
    CPName = '%s',\
    Area = '%d',\
    CheckType = '%s'\
    where CheckpointID = %d"),
    m_BarCodeValue, m_strCheckPoint, area, m_strType, m_currentCP); hr = command.Open(GetDocument()->m_session, strSQL);
    if(FAILED(hr)){
    m_bModified = FALSE;
    COLEDBErrorChecking::DisplaySingleError(hr);
    return;
    }.........
    我一般不在程序里执行ddl,不过ddl应该跟这个类似吧,都是没有返回值的sql。
    上次答复的时候在出差,以前做的例子不在身边。