我正在尝试制作一个简单的网站。 我的目标是使使用 SQL 插入/选择/更新/删除客户数据成为可能。
虽然我设法使 [insert] 方法起作用,但我的 select 方法根本不起作用。看来返回类型是错误的,但我不确定...... 我是 Java、JSP、SQL 等方面的初学者,所以也许我(再次)对一些基本的东西感到困惑?
有人可以检查我的代码吗?
我尝试更改返回类型,但从未找到答案。 这是我的代码。
在 SQL 中,我创建了一个名为 的表来保存客户数据。 selectMember方法位于java类中 显然,doGet 方法位于 survlet 中。
提前致谢!
public MemberVO selectMember(MemberVO member) {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
con = getConnection();
String sql = "select * from Member where userid=?";
pstmt = con.prepareStatement(sql);
rs=pstmt.executeQuery();
if(rs.next()) {
String userid = rs.getString("userid");
String password = rs.getString("password");
String name = rs.getString("name");
String email = rs.getString("email");
String address = rs.getString("address");
}
}
catch(Exception e) {
throw new RuntimeException("MemberDAO.select() : " + e.getMessage());
}finally {
closeConnection(con);
}
return member;
}
<小时/>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String action = request.getParameter("action");
String userid = request.getParameter("userid");
MemberDAO dao = new MemberDAO();
MemberVO member = new MemberVO();
if(action.equals("insert")) {
request.setAttribute("action", action);
}else if(action.equals("update")) {
try {
member = dao.selectMember(userid); //here I have the red warning
request.setAttribute("member", member);
request.setAttribute("action", action);
}catch(RuntimeException e) {
request.setAttribute("message", e.getMessage());
}
}
RequestDispatcher disp = request.getRequestDispatcher("/memberform.jsp");
disp.forward(request, response);
}
最佳答案
您忘记设置 where userid=?
的条件,您需要如下内容:
pstmt = con.prepareStatement(sql);
pstmt .setString(1, "yourUserId");
关于java - 我的 'select'方法的返回类型是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978402/