但是是有概率的报错,报错的语句我在拿到数据库中运行是可以的。是因为什么原因呢
在查询的时候报这种错,但是有的时候能正常运行。报错概率在40%
第1个回答 2011-06-07
程序中sql 拼接的问题吧,以前遇到过,sql语句本身是没错的。
如果你使用了preparestatement 然后用+号拼接了sql语句,又或者其他一些情况。 有时就会出现你说的这种结果,具体原因还不太清楚
可能性很大!
如果你使用了preparestatement 然后用+号拼接了sql语句,又或者其他一些情况。 有时就会出现你说的这种结果,具体原因还不太清楚
可能性很大!
第2个回答 2011-06-07
你java写的sql格式不正确...比如漏了单引号。追问
概率报错,并且就是报错的语句到数据库中运行是没有问题的
追答你最好吧具体问题贴出来...
第3个回答 2011-06-07
是什么数据库呢?sqlserver吗,把你的sql语句标准化一下,例如补全引号,空格等等;
第4个回答 2011-06-07
是不是你的sql语句是那种条件查询的,如果是的话,可能是当你这一列的值为null的时候,不执行对你这个列的查询了。例如
if ((name != null) && !("".equals(name.trim()))) {
sql.append(" and (C.SHORT_NAME like '%");
sql.append(name);
sql.append("%' or C.NAME like '%");
sql.append(name);
sql.append("%')");
}
if ((enable != null) && !("".equals(enable.trim()))) {
sql.append(" and c.ENABLE = '");
sql.append(enable);
sql.append("'");
}
if ((name != null) && !("".equals(name.trim()))) {
sql.append(" and (C.SHORT_NAME like '%");
sql.append(name);
sql.append("%' or C.NAME like '%");
sql.append(name);
sql.append("%')");
}
if ((enable != null) && !("".equals(enable.trim()))) {
sql.append(" and c.ENABLE = '");
sql.append(enable);
sql.append("'");
}
第5个回答 2011-06-07
有时候插入的数据为null也会报错的