「オンライン採用システム」というプロジェクトがあります。データベース接続に問題があります。
最初に、sqlplus で引用符を使用せずにテーブル 'registration' と 'clogindetails' を作成しました。その後、すべてのデータが適切に保存されましたが、ログイン時に次のエラーが発生しました。
java.sql.SQLException: ORA-00904: PASSWORD: invalid identifier
この後、stackoverflow の複数の例を読みました。そして、データベースのテーブル項目に「二重引用符」を追加し、小文字のままにしました。
現在、データは保存されていません。「データ」タブの「オブジェクト ブラウザ」を見てみましたが、次のエラーがありました。
failed to parse SQL query:
ORA-00904: "pass": invalid identifier
私が知る限り、プロジェクトは順調に進んでいます。表を作るのに問題があるだけです。
テーブル 'clogindetails' を使用するページの 1 つからのコードを次に示します。
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)
)