jsp里的数据更新语句怎么写?

2025-03-25 12:47:31
推荐回答(2个)
回答1:

lz这个代码。。。貌似不容易看出来你的原因错在哪里啊!其一,你的Bean(DBBean)里面的成员是什么,不好看出,其二,跟你的数据库结构也有关系!因此,想要解决你的问题,我只能假设了。下面给出一个完成得代码,希望对lz有所帮助,里面的我提出的两个问题均为我所猜测,如和lz的程序不一样,请改动!带码如下:

import java.sql.*;

class DBBean {
public String loginName = null;
public String userName = null;
public String password = null;
public int age= 0;
public String address = null;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}

/*
*
* userinfo 数据库结构
* loginName varchar
* userName varchar
* password varchar
* age number
* address varchar
*/
public class Test {

private PreparedStatement pst = null; //对pst的初始化工作请自己执行

public void update(DBBean bean){
try {
String sql="update userinfo set loginName=? , userName=? , password=? , age=? , address=?";
pst.setString(1,bean.getLoginName());
pst.setString(2,bean.getUserName());
pst.setString(3,bean.getPassword());
pst.setInt(4,bean.getAge());
pst.setString(5,bean.getAddress());
pst.executeUpdate(sql);
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
}
}

回答2:

lz 对mvc的了解的不深刻吧
参数应该为UserBean吧
这样代码应该为
pst.setString(1,user.getLoginName());
另外返回值
不应为布尔型 改为int型 说明更新了几条记录