StringBuffer buffer = new StringBuffer(); buffer.append("INSERT INTO pfb.dbo."); if (!map.get("keyword").toString().equals("") && (map.get("pathname").toString().equals(""))) { buffer.append("Keyword"); } if (!map.get("pathname").toString().equals("") && (map.get("keyword").toString().equals(""))) { buffer.append("Imgpath"); } if (!map.get("keyword").toString().equals("") && !map.get("pathname").toString().equals("")) { buffer.append("INSERT INTO pfb.dbo.Keyword VALUES('" + map.get("keyword") + "','" + map.get("picturename") + "','" + map.get("turnurl") + "','" + map.get("justone") + "');INSERT INTO pfb.dbo.Imgpath VALUES('" + map.get("pathname") + "','" + map.get("picturename") + "','" + map.get("turnurl") + "','" + map.get("justone") + "');"); } if (buffer.indexOf("VALUES") < 0) { buffer.append(" VALUES('" + ((!map.get("keyword").equals("")) ? map.get("keyword") : map.get("pathname")) + "','" + map.get("picturename") + "','" + map.get("turnurl") + "','" + map.get("justone") + "')"); }
你可以在语句结束时加个断点,然后查看下buffer中的SQL语句,放到查询分析仪里一执行就知道了。
if (!map.get("keyword").toString().equals("") && (map.get("pathname").toString().equals(""))) { buffer.append("Keyword"); }
这段代码if里面已经是fales但还是进入里面了
@ycty: !这样写应该是只对前面的起效果了
if (!map.get("keyword").toString().equals("") && !map.get("pathname").toString().equals("")) {
这句话改了后理解为:如果keyword和pathname同时不为空,则执行。
@happydaily: 我就是叫他都不为空,执行,哎,换了一下MyEclipse 好了
@happydaily: 谢了