问题:
1.字段限制。当字符数超过65000时,报错。查询过于复杂。
解决办法:
可以通过使用PreparedStatement
的参数查询功能解决。
代码示例:
String sql = "insert into [table] (title,legislationnumber,assentdate,href,texts) values(?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, bean.getTitle());
ps.setString(2, bean.getLegisnum());
ps.setString(3, bean.getAssent());
ps.setString(4, bean.getHref2());
ps.setString(5, bean.getTexts());//texts字段大于65000。
int i = ps.executeUpdate();
2.查询通配符。
例如 #、%、*的时候加入[#]、[%]、[*]就可以查询了。
3.memo、ole对象无效。
字段类型为备注的不能加入子查询。修改为文本就可以了。但是,有些字段的长度大于255时就不要修改了。这样会有数据截断的错误。
本文介绍了解决SQL字段长度限制导致的问题的方法,通过使用PreparedStatement参数查询功能避免查询过于复杂的错误;同时提供了处理特殊查询通配符及memo字段的有效方案。

9588

被折叠的 条评论
为什么被折叠?



