本人用一条SQL语句来更新一条数据,结果显示SQL命令未正确结束,小问题,望高手指点。
sql.Format(_T("update error_mtthermal_tab set MACHINETOOL_NAME='%s',") 
_T("THERMAL_NAME='%s',") 
_T("ERROR_THERMAL_X='%f',") 
_T("ERROR_THERMAL_Y='%f',") 
_T("ERROR_THERMAL_Z='%f',") 
_T("ERROR_THERMAL_A='%f',")
_T("ERROR_THERMAL_B='%f'") 
_T("where MACHINETOOL_ID=%s"),MachineToolName,ThermalName, mtthermalx, mtthermaly, mtthermalz,mtthermala, mtthermalb,MachineToolID);
TRACE(sql); 
m_pDB->ExecuteSQL(sql);
去掉_T()在VC6.0中能运行通过。

解决方案 »

  1.   

    2008的工程配置里面,不要用unicode,改成多字节试试!
      

  2.   

    如果我改成多字节的话很多地方都要改的
    错误是ORA-00933:SQL命令未正确结束,但是去掉_T(),在vc6.0里面操作完全没问题。
      

  3.   

    你在VC6里,使用的就是UNICODE字符吗?
      

  4.   

    T("where MACHINETOOL_ID=%s"),MachineToolName,ThermalName, mtthermalx, mtthermaly, mtthermalz,mtthermala, mtthermalb,MachineToolID);
    这一句当中应该写成_T("where MACHINETOOL_ID='%s'")
      

  5.   

    把你的SQL放到这个程序里试试