zoukankan      html  css  js  c++  java
  • Oracle 异常工作中出现的

    ① ORA-00936 缺失表达式

    实例--错误的情况

     1         /// <summary>
     2         /// 获取城市信息结果集
     3         /// </summary>
     4         /// <returns></returns>
     5         public DataSet GetCityDS(CityModel cityModel)
     6         {
     7             string sql = @"select t1.CITY_ID,
     8                                   t1.CITY_NAME,
     9                                   t1.PRO_ID,(select t2.PRO_NAME from T_BASE_PROVINCE t2 where t2.PRO_ID = t1.PRO_ID) PRO_NAME
    10                            from T_BASE_CITY t1
    11                            where 1 = 1
    12                         ";
    13             if ((!"".Equals(cityModel.CITY_ID)) && (cityModel.CITY_ID != null))
    14             {
    15                 sql += " and t1.CITY_ID like '%" + cityModel.CITY_ID + "%'";
    16             }
    17             if ((!"".Equals(cityModel.CITY_ID_NEW)) && (cityModel.CITY_ID_NEW != null))
    18             {
    19                 sql += " and t1.CITY_ID like '%" + cityModel.CITY_ID_NEW + "%'";
    20             }
    21             if ((!"".Equals(cityModel.CITY_NAME)) && (cityModel.CITY_NAME != null))
    22             {
    23                 sql += " and t1.CITY_NAME like '%" + cityModel.CITY_NAME + "%'";
    24             }
    25             return OracleHelper.ExecuteDataset(CommandType.Text,sql);
    26         }

    把编译的sql放到Developer 没问题能正确查出数据,但是报ORA-00936 缺失表达式,下面是正确的代码

    实例--正确的实例

     1         /// <summary>
     2         /// 获取城市信息结果集
     3         /// </summary>
     4         /// <returns></returns>
     5         public DataSet GetCityDS(CityModel cityModel)
     6         {
     7             string sql = @"select t1.CITY_ID,t1.CITY_NAME,t1.PRO_ID,(select t2.PRO_NAME from T_BASE_PROVINCE t2 where t2.PRO_ID = t1.PRO_ID) PRO_NAME
     8                            from T_BASE_CITY t1
     9                            where 1 = 1
    10                         ";
    11             if ((!"".Equals(cityModel.CITY_ID)) && (cityModel.CITY_ID != null))
    12             {
    13                 sql += " and t1.CITY_ID like '%" + cityModel.CITY_ID + "%'";
    14             }
    15             if ((!"".Equals(cityModel.CITY_ID_NEW)) && (cityModel.CITY_ID_NEW != null))
    16             {
    17                 sql += " and t1.CITY_ID like '%" + cityModel.CITY_ID_NEW + "%'";
    18             }
    19             if ((!"".Equals(cityModel.CITY_NAME)) && (cityModel.CITY_NAME != null))
    20             {
    21                 sql += " and t1.CITY_NAME like '%" + cityModel.CITY_NAME + "%'";
    22             }
    23             return OracleHelper.ExecuteDataset(CommandType.Text,sql);
    24         }

    总结:竖着写有可能出错,可能有中文之类的空格符,建议先紧紧横着写,然后再转换成竖写的形式。

  • 相关阅读:
    关于jstl.jar引用问题及解决方法
    React 解析/ 第二节 使用 Reac
    NOde.js的安装和简介
    JACOB调用控件函数
    Linux 常用命令
    webService接口发布失败问题
    CommonsMultipartFile---用Spring实现文件上传
    验证签名(章)是否有效的方法
    新起点,新征程
    使用C#正则表达式获取必应每日图片地址
  • 原文地址:https://www.cnblogs.com/YangBinChina/p/2832717.html
Copyright © 2011-2022 走看看