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); 展开
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); 展开
2个回答
展开全部
你的代码写的很乱。
首先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+";
首先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+";
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询