我想知道输入参数在以下代码段中的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));
}
答案 0 :(得分:0)
答案 1 :(得分:0)
PreparedStatement.setnull(paraIndex, SQLType)将指定占位符的 SQL varchar 类型设置为 Null 。 stmt.setInt(2,2290);在第二个占位符处设置了一个int值2290。
答案 2 :(得分:0)
将值设置为null:http://www.java2s.com/Code/Java/Database-SQL-JDBC/DemoPreparedStatementSetNullforintvaluecolumn.htm
非常常见的做法是为数据库表中的特定列明确设置空值
答案 3 :(得分:0)
setNull()调用将给第一个占位符赋值null。
setInt()调用为第二个占位符提供值2290。
您需要检查QUERY_UPDATEPORTFOLIO以找到占位符(问号)以确定它们在数据库中的对应位置。