【问题标题】:SQL invalid identifier errorSQL 无效标识符错误
【发布时间】:2014-04-30 19:45:22
【问题描述】:

我正在处理 jdbc 我的 sql 语句。我的表 TBGROUP 有这两列 GroupName、OwnerEmail 和

String n1=request.getParameter("GName");

String n3=request.getParameter("OEmail");


String sql1 = "SELECT GroupName,OwnerEmail FROM TBGROUP where GroupName='"+n1+"' and OwnerEmail='"+n3+"'";

但它在 Tomcat 输出屏幕上显示“OWNEREMAIL”错误:标识符无效。 可能是什么原因。请帮忙

【问题讨论】:

  • 根据您的数据库,列可能区分大小写。
  • @markg 正在使用 oracle 10g
  • SQL注入,我来了!也就是说,请不要通过字符串连接构建查询字符串,请改用[prepared statements][(docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html)。
  • 试试GroupName like '"+n1+"' and OwnerEmail like '"+n3+"'" instead of =`。
  • @user3445854 。 . .错误是说您连接到的架构中的表TBGROUP 没有列OwnerEmail。我们无法验证该表是否确实具有该列。区分大小写是一种可能性。拼写错误的预期列名是另一个问题。连接到错误的模式是另一个问题。可能还有六个其他原因不会立即浮现在脑海中。

标签: java sql servlets jdbc oracle10g


【解决方案1】:

TBGROUP 表没有名为 OWNEREMAIL 的列

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 2016-10-15
    相关资源
    最近更新 更多