인덱스에 IN 또는 OUT 매개 변수 누락: Java, Oracle에서 1 오류 발생
안녕하세요. 저는 Netbeans 8.0.2 및 Oracle 11g Express Edition을 사용하여 JSF 2.2의 라이브러리 관리 시스템을 코딩했습니다.저는 책, 대출자 등의 이름을 가진 여러 페이지와 데이터베이스에 동일한 이름을 가진 몇몇 표를 가지고 있습니다.제 문제는 이것입니다: 차용자 화면에 책 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번 라인이 차입으로 변경된 경우.setBookid(rs.getString("BOOKID")); 부키드가 표시됩니다.BookidPs라는 다른 쿼리를 작성했습니다. 이 프로그램을 실행하면 인덱스:: 1 오류에서 Missing IN 또는 OUT 매개 변수가 발생합니다.도와주시면 감사하겠습니다.감사해요.
오류 메시지의 "Missing IN or OUT parameter(IN 또는 OUT 파라미터 누락)"는 다음에 대한 것입니다.?
쿼리:
SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?
값을 입력하지 않았습니다.다음과 같이 시도:
BookidPs = con.prepareStatement("SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?");
BookidPs.setString(1, theIsbn);
쿼리에는 ISBN 매개 변수가 필요하지만 코드에서 해당 변수가 어디에 있는지 알 수 없습니다.이 쿼리를 사용하려면 누락된 매개 변수를 제공해야 합니다.사실, 이 두 번째 질문은 당신에게 전혀 유용하지 않은 것 같습니다.코드가 주어졌을 때, 왜 당신이 이 쿼리를 사용하려고 하는지 모르겠습니다.rs
.
그러나 실제로 해당 매개 변수가 채워지더라도 쿼리는 유효하지 않은 SQL입니다.
제 생각에 당신은 아마도 하나의 질문, 즉 조인을 원할 것입니다.두 번째 쿼리는 BOOK 테이블에서 TITLE을 선택하려고 시도하는 것 같습니다.따라서 매개 변수 없이 이 쿼리를 사용할 수 있습니다.
SELECT * FROM BORROWER JOIN BOOK ON BORROWER.BOOKID = BOOK.BOOKID
언급URL : https://stackoverflow.com/questions/27342697/missing-in-or-out-parameter-at-index-1-error-in-java-oracle
'it-source' 카테고리의 다른 글
도커 매핑을 위한 컨텍스트 또는 workdir (0) | 2023.08.14 |
---|---|
아나콘다에 설치된 패키지 목록 가져오기 (0) | 2023.08.14 |
git: URL을 http: URL로 변환하는 방법 (0) | 2023.08.14 |
도커 컨테이너를 중지 및 제거하는 단일 명령 (0) | 2023.08.14 |
최소한의 메모리 사용으로 PHP에서 어레이와 같은 구조가 필요합니다. (0) | 2023.08.09 |