JSP文件中的java SQL查询从VXML文件中提取变量
我试图让SQL查询在JSP文件中工作。JSP文件由一个VXML文件拉取。下面是我的JSP文件代码:
<?xml version="1.0"?>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<% boolean success = true; // Always optimistic
String info = "";
String schoolname = request.getParameter("schoolname");
String informationtype = request.getParameter("informationtype");
try {
Class.forName("org.postgresql.Driver");
String connectString = "jdbc:postgresql://localhost:5435/N0176359";
String user = "****";
String password = "*****";
Connection conn = DriverManager.getConnection(connectString, user, password);
Statement st = conn.createStatement();
ResultSet rsvp = st.executeQuery("SELECT * FROM lincolnshire_school_information_new WHERE school_name=\'"+schoolname+"\'");
rsvp.next();
info = rsvp.getString(2);
}catch (ClassNotFoundException e) {
success = false; // something went wrong
}
%>
如您所见,我试图将声明为“schooname”的变量的值插入SQL查询的末尾。然而,当我开始运行jsp文件时,它不起作用,我得到一个错误“ResultSet未正确定位”。当我放入一个标准查询时(没有尝试使其成为变量的值,它工作正常)
希望这是有意义的,谢谢你的帮助
# 1 楼答案
在我看来没问题,我怀疑这与您传递的参数有关-我建议执行以下调试步骤:
1)您能否打印schoolname参数的值,并验证它是否是您认为的值
2)在执行SQL语句之前,能否在变量中形成SQL语句,并将其打印出来
您可能还想检查
rsvp.next()
调用的布尔返回值。如果为false,则表示查询没有返回任何行。(javadoc代表ResultSet.next())