
如果d_type(或d_order)是字符型(varchar)或日期型(datetime)就要加'',及...d_type='"&request.Form("d_type") &"' and....
如果d_type(或d_order)是数值型(int,float,numeric,decimal)就按你原来的写不需要加''
1、使用Map<String,Object> jdbcTemplate.queryForMap查询,其返回结果必须有且只有1个map值,否则会抛出异常。若抛出异常,则肯定不会得到返回值。
例如“控制台提示错误Incorrect result size: expected 1, actual 0”。
问题原因参考(1)字符串的Jdbctemplate查询:EmptyResultDataAccessException:结果大小不正确:预期1,实际0网页链接
问题原因参考(2)JdbcTemplate queryForObject结果大小不正确:预期为1,实际为0网页链接
2、推荐使用jdbcTemplate.query或List<Map<String,Object>> jdbcTemplate.queryForList查询。
/***
* @Title: querySpxxMap_dbBySsflbm
* @Description: TODO(根据税收分类编码、企业id,联查商品信息表、税收分类编码表的,商品id+商品名称+规格型号+计量单位+税率+税收分类编码)
* @param ssflbm
* @param qyid
* @return 设定文件
* @return Map<String,Object> 返回类型
* @throws
*/
public List<Map<String, Object>> querySpxxMap_dbBySsflbm(String ssflbm, String qyid) {
String sql="select spxx.id,spxx.spmc,spxx.ggxh ,spxx.jldw,ss.slv ,ss.hbbm ssflbm "
+ "from t_jc_ssflbm ss "
+ "left join t_qy_spxx spxx on spxx.ssflbm=ss.hbbm "
+ "where ss.hbbm=? and spxx.qyid=?"
//queryForList 参数写法1
List<Object> conditionList = new ArrayList<Object>()
conditionList.add(ssflbm)
conditionList.add(qyid)
List<Map<String, Object>> list1=jdbcTemplate.queryForList(sql,conditionList.toArray())
//queryForList 参数写法2
List<Map<String, Object>> list2=jdbcTemplate.queryForList(sql,new Object[] {ssflbm,qyid})
return list1
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)