You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSP对接Android Studio连Oracle执行name_sql报不适当列名错误如何解决

错误根因

你的name_sql查询语句仅指定了返回CREW表的NAME字段,执行后得到的name_rs结果集里仅包含NAME一列,但后续代码尝试调用name_rs.getString("EMP_NO")读取结果集中不存在的EMP_NO字段,因此触发「不适当的列名」异常。

修正方案

因为name_sql的查询条件已经是EMP_NO=?,只要name_rs.next()返回true,就说明当前记录的EMP_NO必然和传入的login_fir_recvNo匹配,无需额外做等值判断,直接修改对应代码块即可:

// 原错误代码
// if(name_rs.next()){
//     if(name_rs.getString("EMP_NO").equals(login_fir_recvNo)){
//        returns=name_rs.getString("NAME");
//     }
//  }

// 修正后代码
if(name_rs.next()){
    returns = name_rs.getString("NAME");
}

如果需要保留EMP_NO的判断逻辑,也可以调整name_sql把EMP_NO加入查询字段:

name_sql = "SELECT NAME, EMP_NO FROM CREW WHERE EMP_NO=?";
额外优化建议

当前代码三个查询并行执行,returns的返回值会被后执行的查询结果覆盖,比如第一阶段登录校验返回2,如果后续姓名查询命中,returns会被修改为姓名值,如果你期望不同场景返回固定的状态码,可以调整查询的执行分支,比如只在登录校验通过后再执行姓名查询。


内容的提问来源于stack exchange,提问作者Kangsman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 04:09:02