데이터베이스에 연결하는 Java 프로그램이 있는데 준비된 문과 매개 변수가있는 쿼리를 사용하여 데이터베이스에서 무언가를 업데이트하려고합니다. 나는 물음표 인수에두고있어 처음 몇 값이 1 계정, 2 ACCT 있습니다SQL 준비 문에서 매개 변수화 된 쿼리
updateValSetId = con.prepareStatement("UPDATE COLUMNNAME " +
"SET COLUMNDISPLAYNAME = ? + ' Value Set Identifier' " +
"WHERE COLUMNDISPLAYNAME = ? + 'VALSETID' and TABLENAME = ?");
, 세 번째는 중요하지 않습니다 : 여기 부분은 내 코드입니다. MY QUESTION IS ---> 물음표를 문자열 값과 결합시키는 방법이 있습니까?
나는 이런 식으로 뭔가에 내 코드를 변경 어떻게 그 오류가 의미 고개를 한 후 '
updateValSetId = con.prepareStatement("UPDATE COLUMNNAME " +
"SET COLUMNDISPLAYNAME = '? Value Set Identifier' " +
"WHERE COLUMNDISPLAYNAME = '?VALSETID' and TABLENAME = ?");
didn를 : 추가 기호 I 오류 "잘못된 번호를 ORA가 01722 ="를 얻을 작동하지 않습니다 어느 쪽이든 일하십시오. 그래서 다시 물음표와 문자열을 결합하는 방법이 있습니까?
감사합니다.
편집 ----------> 다음에 문자열 텍스트를 삭제하기로 결정했습니다.
updateValSetId.setString(1, f.getValue() + " Value Set Identifier");
updateValSetId.setString(2, f.getKey() + "VALSETID");
updateValSetId.setString(3, e.getKey());
updateValSetId.executeUpdate();
이것은 값을 할당 할 때 준비된 문장 다음에 오는 것입니다. 매개 변수. 'f'와 'e'는 데이터가 저장된 hashmaps이며 getValue 및 getKey에서 값을 가져올 때 위의 코드가 작동하지 않는 이유가 궁금합니다. 어떤 오류도 발생하지 않고 컴파일되고 실행되지만 데이터베이스에서 원하는 값을 업데이트하지 않습니다. 예를 들어, ACCT가 첫 번째 키이고 Account가 첫 번째 값이므로 전달 될 때 getters 뒤에있는 문자열에 추가되어야하므로 데이터베이스가 ACCVALSETID를 계정 값 세트 식별자로 업데이트해야합니다 ? 내가 뭘 놓치고 있니?
감사합니다.
코드가 작동하고 DB에 변경 사항이 표시되지 않으면 SQLException이 발생하거나 그렇지 않을 수 있습니다. 그것을 확인하십시오. – JosephChilberry