小弟用ADO.NET访问oracle运行下面语句,传参数
UPDATE KMS_T_KWC_CATEGORY_DETAIL  SET CATEGORY_LEVEL = @NEWLEVEL||SUBSTR(CATEGORY_LEVEL,LENGTH(CATEGORY_LEVEL )-LENGTH(@NEWLEVEL)+1,LENGTH(CATEGORY_LEVEL )) WHERE SUBSTR(CATEGORY_LEVEL,0,LENGTH(@OLDLEVEL)) = @OLDLEVEL
提示“非法的变量名/编号 ”
是什么原因啊?

解决方案 »

  1.   

    1.检查你拼写的字段是否和数据库一致
    2.检查@OLDLEVEL等变量是否定义
    3.检查字段类型是否和数据库对应,如数字类型,日期类型等不能字符类型对应等
    4.检查字段长度是否超过数据库字段长度,如数据库字段长度20,而你update的值的长度确是30等要一个字段一个字段的去对
      

  2.   

    “非法的变量名/编号 ”
     @NEWLEVEL和@OLDLEVEL两个变量定义可能有误.