java修改MySQL表中的数据问题:如代码

try{StringURL=null;StringSQL=null;URL="jdbc:mysql://127.0.0.1:3306/zhao";con=DriverMa... try {
String URL=null;
String SQL=null;
URL = "jdbc:mysql://127.0.0.1:3306/zhao";
con = DriverManager.getConnection(URL, "root", "111616");
SQL = "SELECT 人员编号,姓名,密码 FROM 人员信息表" + " WHERE 人员编号=?";
PreparedStatement preSt = con.prepareStatement(SQL);

preSt.setString(1, jtf1);
rs = preSt.executeQuery();
while(rs.next()){

mima=rs.getString("密码");
System.out.println(rs.getString("密码"));
}
} catch (SQLException ex) {
System.out.println(ex);
}
finally {

}

if (jpf3.equals(jpf2)) {

if (jpf1.equals(mima)) {
String str="update 人员信息表 set 密码 = '001' where 人员编号 = '001'; ";
//(如果这句换成: String str="update 人员信息表 set 密码 = 'jpf3' where 人员编号 = 'jtf1'; ";就不会修改成功。 为什么啊? 求高人啊!正确格式是什么呢?


Statement statement =con.createStatement();
int s=statement.executeUpdate(str);

JOptionPane.showMessageDialog(null, "修改成功");

System.exit(0);
展开
 我来答
pauljack123
2011-12-05 · TA获得超过339个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:114万
展开全部
你的代码写的很乱。
首先if (jpf3.equals(jpf2)) {

if (jpf1.equals(mima)) {
String str="update 人员信息表 set 密码 = '001' where 人员编号 = '001'; ";
//(如果这句换成: String str="update 人员信息表 set 密码 = 'jpf3' where 人员编号 = 'jtf1'; ";就不会修改成功。 为什么啊? 求高人啊!正确格式是什么呢?


Statement statement =con.createStatement();
int s=statement.executeUpdate(str);

JOptionPane.showMessageDialog(null, "修改成功");

这一部分是要写在try{}里面的,finally{}里面要对PreparedStatement进行判断,要关闭。

你的sql语句里面使用的是变量
如果变量是String类型的: String str="update 人员信息表 set 密码 = '"+jpf3+"' where 人员编号 = '"+jtf1+"';
如果是int,long,double之类的:String str="update 人员信息表 set 密码 = "+jpf3+" where 人员编号 = "+jtf1+";
jiahuiyou2011
2011-12-05
知道答主
回答量:57
采纳率:0%
帮助的人:24.7万
展开全部
jtf1是一个变量,如果加上单引号就变成一个为‘JTF1’的常量了,你换成String str="update 人员信息表 set 密码 = 'jpf3' where 人员编号 = "+jtf1+';';试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式