我是用户 查询一条一个字段,来检索修改哪条数据
数据库修改代码是这个
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出来的值 明明和数据库的一样,但是不管怎么样都是不等的~为什么啊???我已经研究好几天了,拜托大家帮帮我~~~
数据库修改代码是这个
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出来的值 明明和数据库的一样,但是不管怎么样都是不等的~为什么啊???我已经研究好几天了,拜托大家帮帮我~~~
"',Phone='" + phone + "'where Name =" + upname
------
最后的upname为字符串为什么没有两个'呢?
"提示", javax.swing.JOptionPane.PLAIN_MESSAGE);是一定会显示的啊
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了