当前位置: 代码迷 >> J2SE >> java连接Access数据库Update语句没异常但是数据库中不显示更新内容
  详细解决方案

java连接Access数据库Update语句没异常但是数据库中不显示更新内容

热度:6868   发布时间:2013-02-25 00:00:00.0
java连接Access数据库Update语句没错误但是数据库中不显示更新内容
 try {
                    String m = jTextField1.getText();//号码
                     con = this.getConnection("jdbc:odbc:user");
                    Statement st = con.createStatement();
                     st.executeUpdate("UPDATE users SET password='" + Password1 + "' WHERE no='" + m + "'");

                } catch (SQLException ex) {
                    ex.printStackTrace();
                }
在做聊天系统,连接数据库,注册完后,给其分配号码,然后将用户输入的密码再存入数据库,执行此语句后,不显示任何错误,但是数据库中却不更新,,望各位指教
------最佳解决方案--------------------------------------------------------
这部分代码应该没问题

------其他解决方案--------------------------------------------------------
getText()取得的号码值是个什么情况,你应该是WHERE no='" + m + "'"没有找到这个号码,所以没有更新成功!
------其他解决方案--------------------------------------------------------
代码大概看上去没什么问题,建议分析一下这个“m”变量什么值。

如果问题依然存在,建议把代码贴出来,或加我的QQ:873823032,注明:CSDN求助。
------其他解决方案--------------------------------------------------------
我找到我的问题所在了,是存入Access数据库中的号码字段是一串数字例如:18999234,,但是从查询分析器中查找号码全是0,为什么呢?望各位指教
------其他解决方案--------------------------------------------------------
数据库中显示的no也是一串数字,为什么在查询分析器中查出的全是0呢?
------其他解决方案--------------------------------------------------------
那个 我说啊 我之前也遇到了这个问题 
Access数据库比较特殊,你的那个no应该把单引号去掉。。。
像这样的SQL语句才行:
sql="update user set username='"+name+"',password='"+pass+"' where ID="+id+"";

可参考文章:http://hi.baidu.com/erintojerry/blog/item/880dd9f0e1be3dd90a46e0ea
------其他解决方案--------------------------------------------------------
我也遇到了这个问题 貌似是因为access的权限问题 对于数据库更新禁止了 我也在找解决方法。。。http://www.cnblogs.com/zhouhb/archive/2011/07/22/2114344
  相关解决方案