【发布时间】:2016-11-14 03:52:57
【问题描述】:
我正在尝试编写代码来搜索 mysql 数据库中的员工 ID 并显示相关内容。
我已经编写了 index.jsp 来输入员工 ID 和 servlet 代码以连接到数据库。我的问题是它没有执行语句,它给我一个输出“SQL语句没有执行!”...请帮助我...
package mypkg;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class calandar extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
Connection con = null;
String url = "jdbc:mysql://localhost:3306/escp?useSSL=false";
String driver = "com.mysql.jdbc.Driver";
String user = "root";
String pass = "password";
String id="";
id=request.getParameter("Id");
String sqlquery="SELECT * FROM employee WHERE emp_id='"+id+"'";
try{
Class.forName(driver);
con = DriverManager.getConnection(url, user, pass);
try{
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sqlquery+id);
while (rs.next()) {
}
}catch (SQLException s){
System.out.println("SQL statement is not executed!");
}
}
catch (Exception e){
e.printStackTrace();
}
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/Result.jsp");
dispatcher.forward(request, response);
}
}
【问题讨论】:
-
因为你有一个
SQLException,这就是你得到输出为"SQL statement is not executed!"的原因,请将s.printStackTrace()放在SQLException catch块中并检查异常。