有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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. # 1 楼答案

    在我看来没问题,我怀疑这与您传递的参数有关-我建议执行以下调试步骤:

    1)您能否打印schoolname参数的值,并验证它是否是您认为的值

    2)在执行SQL语句之前,能否在变量中形成SQL语句,并将其打印出来

    您可能还想检查rsvp.next()调用的布尔返回值。如果为false,则表示查询没有返回任何行。(javadoc代表ResultSet.next()