Java setNull和setInt在这个语句中做什么?
我想知道下面代码段中setNull和setInt方法中的输入参数引用了什么。什么是参数索引。SQL类型是什么?如何从数据库列/数据中确定它 public void testQUERY\u UPDATEPORTFOLIO()引发异常{Java setNull和setInt在这个语句中做什么?,java,sql,jdbc,Java,Sql,Jdbc,我想知道下面代码段中setNull和setInt方法中的输入参数引用了什么。什么是参数索引。SQL类型是什么?如何从数据库列/数据中确定它 public void testQUERY\u UPDATEPORTFOLIO()引发异常{ UnitTestHelper helper = new UnitTestHelper(); Connection con = helper.getConnection(helper.sourceDBUrl); Connection conTa
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));
}
该方法允许您将JDBC/SQL空值作为IN参数发送到数据库
请参阅此以了解更多信息将指定占位符的SQL varchar类型设置为Null。
在第二个占位符处设置整型值2290。将该值设置为空: 很常见的做法是为数据库表中的特定列明确设置nullsetNull()调用将为第一个占位符提供null值 setInt()调用为第二个占位符提供值2290
您需要检查QUERY_UPDATEPORTFOLIO以查找占位符(问号),以确定它们在数据库中对应的内容。占位符是什么意思,列、行还是两者都是?@user1865053是查询中的问号,例如
插入mytable(col1、col2、col3、col4)值(?、、、?、?)《代码》阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读阅读,工作,工作,工作开始,工作从开始,从请求从请求从请求出发,从请求从请求到请求,请求从请求,请求那里请求,请求,基金基金投资投资,投资组合,投资投资,投资组合,投资组合,投资,投资,投资组合,投资组合,投资,投资,投资组合,投资,投资,投资组合,投资,投资,投资组合,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资,投资所以第一个参数,1,(1,Types.INTEGER)表示portfolioid。第二个参数2,(2,2290)表示requestid。是否正确?标记在哪里?