不知是哪里出了问题,错误提示是:before start of result set.帮帮忙,谢谢大家!
package submitData.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import submitData.struts.form.SubmitForm;public class Submit_updateAction extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
String ID = request.getParameter("id");
java.sql.Connection sqlConn;
java.sql.Statement sqlStmt;
java.sql.ResultSet sqlRst;
String DBUser="root";
String DBPassword="xxc";
String DBServer="xxc";
String DBNAME="school"; Class.forName("org.gjt.mm.mysql.Driver").newInstance();
sqlConn=java.sql.DriverManager.getConnection ("jdbc:mysql://"+DBServer+":3306/"+DBNAME,DBUser,DBPassword);
sqlStmt=sqlConn.createStatement();
sqlRst=sqlStmt.executeQuery("select * from student where std_ID = '" + ID + "';");
//以上是连接数据库以及执行一条sql语句
SubmitForm subForm = (SubmitForm)form;
String stdId = sqlRst.getString("std_ID");
String stdName = sqlRst.getString("std_Name");
String stdAge = sqlRst.getString("std_Age");
String stdYear = sqlRst.getString("std_Year");
String stdDept = sqlRst.getString("std_Dept");
String stdMemo = sqlRst.getString("std_Memo");
subForm.setStd_ID(stdId);
subForm.setStd_Name(stdName);
subForm.setStd_Age(stdAge);
subForm.setStd_Year(stdYear);
subForm.setStd_Dept(stdDept);
subForm.setStd_Memo(stdMemo);
request.setAttribute("submitForm",form);
//以上是将数据传给Form
sqlRst.close();
sqlStmt.close();
sqlConn.close();
return mapping.findForward("display_Modify");
}}
package submitData.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;import submitData.struts.form.SubmitForm;public class Submit_updateAction extends Action
{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception
{
String ID = request.getParameter("id");
java.sql.Connection sqlConn;
java.sql.Statement sqlStmt;
java.sql.ResultSet sqlRst;
String DBUser="root";
String DBPassword="xxc";
String DBServer="xxc";
String DBNAME="school"; Class.forName("org.gjt.mm.mysql.Driver").newInstance();
sqlConn=java.sql.DriverManager.getConnection ("jdbc:mysql://"+DBServer+":3306/"+DBNAME,DBUser,DBPassword);
sqlStmt=sqlConn.createStatement();
sqlRst=sqlStmt.executeQuery("select * from student where std_ID = '" + ID + "';");
//以上是连接数据库以及执行一条sql语句
SubmitForm subForm = (SubmitForm)form;
String stdId = sqlRst.getString("std_ID");
String stdName = sqlRst.getString("std_Name");
String stdAge = sqlRst.getString("std_Age");
String stdYear = sqlRst.getString("std_Year");
String stdDept = sqlRst.getString("std_Dept");
String stdMemo = sqlRst.getString("std_Memo");
subForm.setStd_ID(stdId);
subForm.setStd_Name(stdName);
subForm.setStd_Age(stdAge);
subForm.setStd_Year(stdYear);
subForm.setStd_Dept(stdDept);
subForm.setStd_Memo(stdMemo);
request.setAttribute("submitForm",form);
//以上是将数据传给Form
sqlRst.close();
sqlStmt.close();
sqlConn.close();
return mapping.findForward("display_Modify");
}}
后边加一句
sqlRst.next();
因为结果集开始的时候是指向第一条记录的前面的,所以需要next一下。
一般这样写(多条记录):
while(rs.next())
{
//operation
}
(一条记录)
if(rs.next())
{
//operation
}
sqlRst=sqlStmt.executeQuery("select * from student where std_ID = '" + ID + "';");
//以上是连接数据库以及执行一条sql语句
ubmitForm subForm = (SubmitForm)form;
while(sqlRst!=null&&sqlRst.next()){
String stdId = sqlRst.getString("std_ID");
String stdName = sqlRst.getString("std_Name");
String stdAge = sqlRst.getString("std_Age");
String stdYear = sqlRst.getString("std_Year");
String stdDept = sqlRst.getString("std_Dept");
String stdMemo = sqlRst.getString("std_Memo");
subForm.setStd_ID(stdId);
subForm.setStd_Name(stdName);
subForm.setStd_Age(stdAge);
subForm.setStd_Year(stdYear);
subForm.setStd_Dept(stdDept);
subForm.setStd_Memo(stdMemo);
request.setAttribute("submitForm",form);
}
//以上是将数据传给Form
sqlRst.close();
sqlStmt.close();
sqlConn.close();
}catch(Exception e){
e.printStackTrace();
}