2012-12-03 5 views
0

다음 코드 단편에있는 setNull 및 setInt 메소드에서 입력 매개 변수가 참조하는 것이 궁금합니다. 매개 변수 색인은 무엇입니까? SQL 형식은 무엇이며 데이터베이스 열/데이터에서 어떻게 결정합니까?누구나 setNull과 setInt가이 문장에서 무엇을하는지 말해 줄 수 있습니까?

는 공공 무효 testQUERY_UPDATEPORTFOLIO() 예외 {

UnitTestHelper helper = new UnitTestHelper(); 
    Connection con = helper.getConnection(helper.sourceDBUrl); 
    Connection conTarget = helper.getConnection(helper.targetDBUrl); 

    PreparedStatement stmt = con.prepareStatement(TRScheduleStatusCalculator.QUERY_UPDATEPORTFOLIO); 
    stmt.setNull(1,Types.INTEGER); 
    stmt.setInt(2,2290); 
    ResultSet sourceVal = stmt.executeQuery(); 

    stmt = conTarget.prepareStatement(TRScheduleStatusCalculator.QUERY_UPDATEPORTFOLIO); 
    stmt.setNull(1,Types.INTEGER); 
    stmt.setInt(2,2290); 
    ResultSet targetVal = stmt.executeQuery(); 


    assertTrue(helper.resultSetsEqual(sourceVal,targetVal)); 

} 

답변

0

PreparedStatement.setnull(paraIndex, SQLType)가 지정된 자리 표시 자에 대한 SQL의 VARCHAR 유형을 설정 학습을 참조하십시오. stmt.setInt(2,2290);은 두 번째 자리 표시 자에 int 값 2290을 설정합니다.

+0

그래서 QUERY WAS – Croeber

+0

은 requestid, methodid, workplanid, requiredstart, tr_request에서 requiredend를 선택합니다 어디에서 fundingportfolioid =? "+"및 requestid <>? _______________________________________________________________________So 첫 번째 매개 변수 인 1, (1, Types.INTEGER)는 portfolioid에 대한 것입니다. 두 번째 매개 변수 인 2 (2, 2290)는 requestid에 대한 것입니다. 그 맞습니까. 어디에서? 마크는? – Croeber

+0

위의 쿼리에서 올바른지 확인하십시오. – PermGenError

0

setNull 방법을 사용 IN 매개 변수로 데이터베이스에 JDBC/SQL의 NULL 값을 보낼 수 있습니다 발생합니다.

thread

0

의 setNull() 호출은에 null 값을 줄 것이다 첫 번째 자리 표시 자입니다.

setInt() 호출은 두 번째 자리 표시 자에 2290 값을 제공합니다.

QUERY_UPDATEPORTFOLIO를 검사하여 데이터베이스에서 해당 항목을 판별하기위한 자리 표시 자 (물음표)를 찾아야합니다.

+0

"자리 표시 자"란 열, 행 또는 둘 모두를 의미합니까? – Croeber

+0

@ user1865053 쿼리에 물음표가 있습니다. 예를 들어 'mytable (col1, col2, col3, col4) 값 (?,?,?,?)에 삽입'과 같은 것입니다. 이것은 조건의 열 또는 값입니다 (예 :'... id =?'). – Bohemian

관련 문제