[解決済み] インデックスにINまたはOUTパラメータがない::Java、Oracleで1エラー
質問内容
Netbeans 8.0.2とOracle 11g Express Editionを使用して、JSF 2.2で図書館管理システムをコード化しました。私は本、借り手などの名前のいくつかのページとデータベース内の同じ名前のいくつかのテーブルを持っています。私の問題は次のとおりです:Borrowers画面では本のIDが表示されます。しかし、私は同じIDを持つ本のタイトルに到達したい。以下は私のコードです。
public List<Borrower> getBorrowers()throws ClassNotFoundException,SQLException, InstantiationException, IllegalAccessException{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","Alparslan-PC","123456");
ps=con.prepareStatement("SELECT * FROM BORROWER");
BookidPs = con.prepareStatement("SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?");
ResultSet rs=ps.executeQuery();
ResultSet Rs2=BookidPs.executeQuery();
List<Borrower> liste = new ArrayList<Borrower>();
while(rs.next()){
Borrower borrow = new Borrower();
borrow.setId(rs.getBigDecimal("ID"));
borrow.setName(rs.getString("NAME"));
borrow.setSurname(rs.getString("SURNAME"));
borrow.setAddress(rs.getString("ADDRESS"));
borrow.setPhonenumber(rs.getString("PHONENUMBER"));
borrow.setBorrowdate(rs.getString("BORROWDATE"));
//book.setIsbn(rs.getString("BOOKID"))
borrow.setBookid(Rs2.getString("BOOKID"));
//borrow.setBookid(((Book) rs.getObject("BOOKID")).getIsbn());
liste.add(borrow);
}
System.out.print(liste);
return liste;
}
22行目を borrow.setBookid(rs.getString("BOOKID")) で変更すると、bookids が表示されます。私はBookidPsという名前の別のクエリを書いた。私はこのプログラムを実行すると、私はインデックスでMissing INまたはOUTパラメータを得る::1エラー。もしあなたが助けてくれるなら、私は感謝します。ありがとうございます。
解決方法を教えてください。
エラーメッセージにある"Missing IN or OUT parameter"とは、以下のようなものです。
?
をクエリに追加してください。
SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?
値が指定されていませんね。このように試してみてください。
BookidPs = con.prepareStatement("SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?");
BookidPs.setString(1, theIsbn);
このクエリにはISBNパラメータが必要ですが、あなたのコードのどこにそのような変数があるのかわかりません。
このクエリを使うには、足りないパラメータを指定する必要があります。実際、この2つ目のクエリは、あなたにとって全く役に立たないようです。このコードでは、なぜこのクエリを使うのかがわかりません。
rs
.
しかし、実はこのパラメータを埋めても、このクエリは無効なSQLなのです。
おそらく、1つのクエリ、JOINが必要なのだと思います。 2つ目のクエリは、BOOKテーブルからTITLEを選択しようとしているようです。 ですから、パラメータなしのこのクエリが必要なのでしょう。
SELECT * FROM BORROWER JOIN BOOK ON BORROWER.BOOKID = BOOK.BOOKID
関連
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み] Javaでパラメータの型の横にある3つの点は何を意味するのですか?
-
[解決済み] Javaでネストされたループから抜け出すには?
-
[解決済み] Javaはパラメータのデフォルト値をサポートしていますか?
-
[解決済み】Java パラメータとしてメソッドを渡す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み】popBackStack()とreplace()の操作はどう違うのですか?
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】不正な反射的アクセスとは?
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】Eclipseで「公開型 <<classname>> は独自のファイルで定義する必要があります」エラー【重複あり
-
[解決済み】文字列中の � を置換する方法
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み] JavaでSSLピアが正しくシャットダウンされない