当前位置: 代码迷 >> Oracle开发 >> ORA-01036: 非法的变量名/编号 这是如何了
  详细解决方案

ORA-01036: 非法的变量名/编号 这是如何了

热度:539   发布时间:2016-04-24 06:33:45.0
ORA-01036: 非法的变量名/编号 这是怎么了
 public bool UpdateTryout(ADE_TRYOUT Mo, decimal id)
        {
            StringBuilder strsql = new StringBuilder();
            strsql.Append("update ADE_TRYOUT set  ");
            strsql.Append("TITLE=:TITLE,");
            strsql.Append("SPEC=:SPEC,");
            strsql.Append("PRICE=:PRICE,");
            strsql.Append("PICTURE=:PICTURE,");
            strsql.Append("LINK_URL=:LINK_URL,");
            strsql.Append("STATE=:STATE");
            strsql.Append("where TRYOUT_ID=:TRYOUT_ID");

            DbCommand cmd = _db.GetSqlStringCommond(strsql.ToString());
            _db.AddInParameter(cmd, ":TITLE", DbType.String, Mo.TITLE);
            _db.AddInParameter(cmd, ":SPEC", DbType.String, Mo.SPEC);
            _db.AddInParameter(cmd, ":PRICE", DbType.Decimal, Mo.PRICE);
            _db.AddInParameter(cmd, ":PICTURE", DbType.String, Mo.PICTURE);
            _db.AddInParameter(cmd, ":LINK_URL", DbType.String, Mo.LINK_URL);
            _db.AddInParameter(cmd, ":STATE", DbType.Decimal, Mo.STATE);
            _db.AddInParameter(cmd, ":TRYOUT_ID", DbType.Decimal, id);
            int rows = _db.ExecuteNonQuery(cmd);
            if (rows > 0)
            {
                return true;
            }
            else 
            {
                return false;
            }
        }

爆:ORA-01036: 非法的变量名/编号
orcal语句复制到pl sql中可以运行。这是为什么
------解决思路----------------------
strsql.Append("STATE=:STATE");
strsql.Append("where TRYOUT_ID=:TRYOUT_ID");
strsql.Append("STATE=:STATE空格");