0

次のスニペットのsetNullメソッドとsetIntメソッドで入力パラメーターが何を参照しているのか疑問に思っています。パラメータインデックスとは何ですか。SQLタイプとは何ですか?データベースの列/データからそれを判断するにはどうすればよいですか?

public void 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));

}
4

4 に答える 4

0

setNullメソッドを使用すると、JDBC /SQLNULL値をINパラメーターとしてデータベースに送信できます。

詳細については、このスレッドを参照してください

于 2012-12-03T22:47:02.063 に答える
0

PreparedStatement.setnull(paraIndex、SQLType)は、指定されたプレースホルダーのSQLvarcharタイプをNullに 設定ますstmt.setInt(2,2290); 2番目のプレースホルダーにint値2290を設定します。

于 2012-12-03T22:47:28.803 に答える
0

値をnullに設定する:http ://www.java2s.com/Code/Java/Database-SQL-JDBC/DemoPreparedStatementSetNullforintvaluecolumn.htm

データベーステーブルの特定の列に明確にnullを設定するというかなり一般的な方法

于 2012-12-03T22:47:54.287 に答える
0

setNull()呼び出しは、最初のプレースホルダーにnullの値を与えます。

setInt()呼び出しは、2290の値を2番目のプレースホルダーに与えます。

QUERY_UPDATEPORTFOLIOを調べてプレースホルダー(疑問符)を見つけ、データベース内でそれらが何に対応しているかを判断する必要があります。

于 2012-12-03T22:48:58.597 に答える