我是用户 查询一条一个字段,来检索修改哪条数据
数据库修改代码是这个
 public  static   boolean MakeDate(String upname, String name, String sex,
                                   String phone) {
        String strSQL;
        try {
            strSQL = "Update telephone set Name ='" + name + "',Sex ='" + sex +
                     "',Phone='" + phone + "'where Name =" + upname;
      
            st.executeUpdate(strSQL);
            javax.swing.JOptionPane.showMessageDialog(null, "更新成功!", "提示",
                    javax.swing.JOptionPane.PLAIN_MESSAGE);
            return true;        } catch (SQLException ex) {
          
            return false;        }
    }
///////////////////////////////////////////////////////
这个是按钮事件
 /**
     *
     * @------------------------------------------修改数据按钮事件
     */
    public void jButtonMake_actionPerformed(ActionEvent e) {
        String upname;
        ResultSet rs;
        String upp;
    
        name = this.jtext_name.getText();
        sex = this.jtext_sex.getText();
        phone = this.jtext_phone.getText();        upname = jTextMakename.getText();
            if (Database.MakeDate(upname, name, sex, phone)) {
                System.out.println("OKOK");
            } else {
                System.out.println("NONO");
            }
            javax.swing.JOptionPane.showMessageDialog(null, "找不到你要修改的用户!",
                    "提示", javax.swing.JOptionPane.PLAIN_MESSAGE);
        }    }
===================================================
下面是我发现的问题..
就是 jtextFiled 组件的.getText(); get出来的值  明明和数据库的一样,但是不管怎么样都是不等的~为什么啊???我已经研究好几天了,拜托大家帮帮我~~~

解决方案 »

  1.   

    不懂,什么叫getText()和数据库一样,这个不是你输入的么?
      

  2.   

    "Update telephone set Name ='" + name + "',Sex ='" + sex +
                         "',Phone='" + phone + "'where Name =" + upname
                                                                 ------
     
    最后的upname为字符串为什么没有两个'呢?
      

  3.   

    javax.swing.JOptionPane.showMessageDialog(null, "找不到你要修改的用户!",
    "提示", javax.swing.JOptionPane.PLAIN_MESSAGE);是一定会显示的啊
      

  4.   

    那是当然了,注意你程序流程.
                strSQL = "Update telephone set Name ='" + name + "',Sex ='" + sex +
                         "',Phone='" + phone + "'where Name =" + upname;
          -------------------这句sql执行后如果正确继续往下走,不管你怎么弄都是正确的
                st.executeUpdate(strSQL);
          -------------------下面这句就必须执行了,所以添加成功
                javax.swing.JOptionPane.showMessageDialog(null, "更新成功!", "提示",
                        javax.swing.JOptionPane.PLAIN_MESSAGE);其实你要判断你st.executeUpdate(strSQL)的返回值.如下
    int i = st.executeUpdate(strSQL);
    if(i==1) {
        javax.swing.JOptionPane.showMessageDialog(null, "更新成功!", "提示",
                        javax.swing.JOptionPane.PLAIN_MESSAGE);
    }这样就ok了