gpt4 book ai didi

java - ORA-00904 : "pass": invalid identifier

转载 作者:行者123 更新时间:2023-12-01 14:37:02 24 4
gpt4 key购买 nike

我有一个名为“在线招聘系统”的项目。数据库连接有问题。

首先,我在 sqlplus 中创建了表“registration”和“clogindetails”,而没有使用引号。然后所有数据都用于正确保存,但在登录时我收到以下错误:

java.sql.SQLException:ORA-00904:密码:标识符无效

在此之后,我阅读了 stackoverflow 的多个示例。我在数据库中的表项中添加了“双引号”,并将它们保留为小写。

现在数据甚至没有被保存。我尝试在“数据”选项卡中查看“对象浏览器”,但出现以下错误:

failed to parse SQL query:
ORA-00904: "pass": invalid identifier

据我所知,该项目进展顺利。只是制作表格时存在问题。

以下是使用表“clogindetails”的页面之一的代码:

   String usrname=getClogid();
String pass=getCpassword();

if(usrname!=null && pass!=null && usrname.length()>0 && pass.length()>0)
{
ps = con.prepareStatement("select * from clogindetails where logid=? and password=?");
ps.setString(1,usrname);
ps.setString(2,pass);
rs=ps.executeQuery();
HttpSession session=request.getSession(true);
if(!rs.next())
{
errors.add("invalid", new ActionMessage("errors.invalidusername"));
}
}

rs.close();
ps.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}

if(getClogid()==null || getClogid().length()<1)
{
errors.add("logid", new ActionMessage("errors.logid.required"));
}

if(getCpassword()==null || getCpassword().length()<1)
{
errors.add("password", new ActionMessage("errors.password.required"));
}
return errors;

clogindetails 的架构是

CREATE TABLE "CLOGINDETAILS"(
"ADMITID" NUMBER(15,0),
"NAME" VARCHAR2(25),
"LOGID" VARCHAR2(10),
"PASS" VARCHAR2(20)
)

最佳答案

ORA-00904引用 select 语句中的无效别名时很常见。

要解决此错误,您需要输入有效的列名称

为了避免 ORA-00904,列名不能是保留字,并且必须包含以下四个条件才有效:

  • 以字母开头
  • 小于或等于三十个字符
  • 仅由字母数字和特殊字符 ($_#) 组成;其他字符需要用双引号引起来

有关更多信息,您可以引用此链接。

http://www.dba-oracle.com/t_ora_00904_string_invalid_identifier.htm

关于java - ORA-00904 : "pass": invalid identifier,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16394463/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com