当前位置:编程学习 > JAVA >>

sql 语句 中的更新语句 有问题,怎么也解决不了,希望能帮个忙

ps.executeUpdate("update dangan set name='" + xm.getText().trim() +
                       "',sex='" + sex.getText().trim() +
                       "',brithday='"
                       + rq.getText().trim()+ "',jobnum='" +
                      bh.getSelectedItem()+ "',tele='"
                       + tel.getText().trim() + "',intime='" +
                       rxrq.getText().trim() + "',zhuzhi='" +
                       address.getText().trim() + "',add='"
                       +comment.getText().trim() + "'where worknum = " +xh.getText().trim()+""); --------------------编程问答-------------------- where前面加个空格看看。 --------------------编程问答-------------------- 还是不行呀,总是提示语法错误,还有 --------------------编程问答-------------------- 貌似你的jobnum那里写错了吧,getselectItem()返回的是object。 --------------------编程问答--------------------
引用 2 楼 cztq15 的回复:
还是不行呀,总是提示语法错误,还有

看错误提示好像是'add='附近的错误。你先用死的替换一下看看。
ps.executeUpdate("update dangan set name='" + xm.getText().trim() +
                "',sex='" + sex.getText().trim() +
                "',brithday='"
                + rq.getText().trim()+ "',jobnum='" +
               bh.getSelectedItem()+ "',tele='"
                + tel.getText().trim() + "',intime='" +
                rxrq.getText().trim() + "',zhuzhi='" +
                address.getText().trim() + "',add='"
                +"aaa" + "' where worknum = " +xh.getText().trim()+"");

这样试试,挨个排除一下,看看问题出在哪个上面 --------------------编程问答-------------------- 何必这样找 把sql打印出来 就很明显看出来了 贴个代码 干啥 找起来还不好找 --------------------编程问答-------------------- 乱码了,亲没看到吗? --------------------编程问答-------------------- add='"+comment.getText().trim() +

红色部分出现乱码,程序不能识别,你仔细找下你的代码来源怎么会是乱码,这个很好解决。

where 前面加上空格,如果不加上空格,‘where’会跟前面的代码连接一起。这样子可能会报错,sql语句没有where条件 --------------------编程问答-------------------- 何必这样找 把sql打印出来 就很明显看出来了 贴个代码 干啥 找起来还不好找 
+1 --------------------编程问答-------------------- 乱码了。。。 --------------------编程问答--------------------
引用 8 楼 hucp2007 的回复:
何必这样找 把sql打印出来 就很明显看出来了 贴个代码 干啥 找起来还不好找 
+1
怎么打印呢? --------------------编程问答--------------------
引用 9 楼 flagiris 的回复:
乱码了。。。
如果我写英文的话不会乱码,但是还是不行。 --------------------编程问答-------------------- 最后一个参数也少了一个单引号 --------------------编程问答-------------------- 看你那错误,就知道是乱码问题,把你的乱码解决了就行了 --------------------编程问答-------------------- SQL注入啊。
ps.executeUpdate("update dangan set name= ? ....");
ps.setString(1,xm.getText().trim()).
....
--------------------编程问答-------------------- 你别这样写了。难看死
你这样
String s="update dangan set name='" + xm.getText().trim() +
                       "',sex='" + sex.getText().trim() +
                       "',brithday='"
                       + rq.getText().trim()+ "',jobnum='" +
                      bh.getSelectedItem()+ "',tele='"
                       + tel.getText().trim() + "',intime='" +
                       rxrq.getText().trim() + "',zhuzhi='" +
                       address.getText().trim() + "',add='"
                       +comment.getText().trim() + "'where worknum = " +xh.getText().trim()+"";

然后断个点。看看S的内容是怎样的。 --------------------编程问答-------------------- 看到这个帖子,想起了当年学JDBC的日子 --------------------编程问答-------------------- "'where worknum = " +xh.getText().trim()+""; where前面少个空格改成
"' where worknum = " +xh.getText().trim()+"");  --------------------编程问答--------------------
引用 5 楼 ku2ran 的回复:
何必这样找 把sql打印出来 就很明显看出来了 贴个代码 干啥 找起来还不好找
++1
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,