其中,spid,kcje都是字符型,hkcje2和hid是String型,
为什么在更新数据库时无法更新?
"update tb_kucun set kcje='"+hkcje2+"' where spid='"+hid+"'"我不加 where spid='"+hid+"' 时,数据库能更新,但是整个表都更新了,这肯定不合要求。
加了 where spid='"+hid+"'后就不能更新了,为什么?

解决方案 »

  1.   

    没写错呀,是不是条件不满足呀,就是这个spid=hid,没有满足的
      

  2.   

    "update tb_kucun set kcje='"+hkcje2+"' where spid='"+hid+"'"看样子,兄弟是数值没有处理好,明明是ID,int类型的,怎么能加“”号呢?
      

  3.   

    update tb_kucun set kcje='"+hkcje2+"' where spid="+hid+"
      

  4.   

    语句没什么错误
    估计是表里面没有符合spid=hid 条件的记录
    检查一下你传进来的hid值
    你可以先执行一下
    "select count(*) from tb_kucun where spid='hid'"
    看看能不能查找到记录
      

  5.   


    1st column name is wrong2nd value '"+hid+"' does not match column spid
      

  6.   

    1.可能是hid没有匹配到spid,故 0 row updated.
    2.可能是spid 与 hid的类型不相符。
    3.可能是sql的引号问题(这个概率可以为0)
      

  7.   

    String strSql="update tb_kucun set kcje='"+hkcje2+"' where spid=“+hid;大家好,我改成这样,就好使了,不知道为什么啊?
      

  8.   

    难道就这么喜欢拼接 SQL 语句么?用 PreparedStatement 不行么?