nested exception is java.sql.SQLException: ORA-01008: 并非所有变量都已绑定

J2EE 码拜 10年前 (2015-04-05) 1238次浏览 0个评论
 
/**
	 * WEBOPAC_读者空间_借阅管理_查看借阅信息_当前借阅信息
	 * @param readerId
	 * @param lendStatus
	 * @return
	 */
	public Page<WebOpacQueryVo> queryReaderLendRecordForTwo(Long readerId,
			Integer lendStatus,Pageable pageable) {
		StringBuilder sql=new StringBuilder();
		MapSqlParameterSource paramSource = new MapSqlParameterSource();
		StringBuilder countSql=new StringBuilder();
		sql.append("select t.id,t.collection_id,c.status from READER_LEND_RECORD t , collection c where c.id = t.collection_id and t.reader_id =:readerId");
		paramSource.addValue("readerId", readerId);
		sql.append(" and t.status =:lendStatus");
		paramSource.addValue("lendStatus", lendStatus);
		System.out.println("WEBOPAC_读者空间_借阅管理_查看借阅信息_当前借阅信息  sql:" + sql);
		countSql.append("select count(*) from ("+ sql +")");
		Page<WebOpacQueryVo> page = JdbcPaginationHelper.queryForPage(namedJdbcTemplate, pageable, sql.toString(), countSql.toString(), new RowMapper<WebOpacQueryVo>(){
			public WebOpacQueryVo mapRow(ResultSet rs, int rowNum)
					throws SQLException {
				WebOpacQueryVo woqv = new WebOpacQueryVo();
				woqv.setCollection(collectionDao.findOne(rs.getLong("collection_id")));
				woqv.setCollectionStatus(sysDicDao.findByTypeAndKey(Constant.COLLECTION_STATUS, rs.getInt("status")));
				woqv.setReaderLendRecord(readerLendRecordDao.findOne(rs.getLong("id")));
				return woqv;
			}});
		return page;
	}

打印出的sql 

WEBOPAC_读者空间_借阅管理_查看借阅信息_当前借阅信息  sql:

select t.id,t.collection_id,c.status from READER_LEND_RECORD t , collection c where c.id = t.collection_id and t.reader_id =:readerId and t.status =:lendStatus

readerId=921 和 lendStatus=2 debug的时候都不为空 

看了半天看不出什么问题?
难道整个下午要葬送在这个问题上?

nested exception is java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
20分
执行的时候paramSource参数没传进去

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明nested exception is java.sql.SQLException: ORA-01008: 并非所有变量都已绑定
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!