我在source里 拼接了一段sql文
内容如下:
UPDATE S_46DISPLAY SET PREVENTIONHEATSTS = '02' WHERE OFFICE_CD = ‘7200’在oracle中测试没有问题。
但是通过程序调用怎么就会报出 00933:命令未正确结束的错误呢?望高手能指点指点。。

解决方案 »

  1.   

    在存储过程里是需要的;再加上COMMIT;
      

  2.   


                    StringBuilder sbSql = new StringBuilder();
                    sbSql.Append(" UPDATE");
                    sbSql.Append(" S_46DISPLAY");
                    sbSql.Append(" SET");
                    sbSql.Append(" PREVENTIONHEATSTS = '02'");
                    sbSql.Append(" WHERE ");
                    sbSql.Append(" OFFICE_CD = :OFFICE_CD AND ");
                    sbSql.Append(" SYSTEMMODE = :SYSTEMMODE)");                updateCommand.CommandText = sbSql.ToString();                updateCommand.Parameters.Add(":OFFICE_CD", OracleDbType.Varchar2, 4, argOfficeCd, ParameterDirection.Input);
                    updateCommand.Parameters.Add(":SYSTEMMODE", OracleDbType.Int32, argSystemMode, ParameterDirection.Input);这是SQL文拼接语句,,一些链接的 和执行的语句就不贴出来了
      

  3.   

    我感觉你在程序中拼 sql语句时出问题了。 你仔细看看你的SQL语句拼写部分,是不是引号引的有问题了。
      

  4.   

    OFFICE_CD = ‘7200’
    是中文的单引号 就是说你在输入这个参数的时候是‘7200‘ 而不是'7200'
      

  5.   

     sbSql.Append(" SYSTEMMODE = :SYSTEMMODE)");--这里面多了个 ) 吧
      

  6.   

    “SYSTEMMODE = :SYSTEMMODE)” 是不是多个 ")"