我尝试运行以下查询但显示语法错误。我在完整查询中检查了“,”错误但找不到它。任何人都可以解释错误在哪里?
@WebServlet("/gisBack")
public class GisBack extends HttpServlet{
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter writer = response.getWriter();
String fromx = request.getParameter("fromx");
String fromy = request.getParameter("fromy");
String destx = request.getParameter("destinationx");
String desty = request.getParameter("destinationy");
String x = request.getParameter("x");
String y = request.getParameter("y");
//writer.println("Welome to servlet ");
Connection conn = null;
StringBuilder buf = new StringBuilder();
try{
Class.forName("org.postgresql.Driver");
String dburl = "jdbc:postgresql://localhost:5433/postgres";
conn = DriverManager.getConnection(dburl, "postgres", "sid");
Statement stat = conn.createStatement();
//System.out.println("connection-----"+conn);
//String query = "select * from pgr_fromAtoB('texas_roads_gcs', "+fromx+", "+fromy+", "+destx+","+desty+")";
String query1 = "drop table if exists route9";
stat.executeUpdate(query1);
String query2 = "create table route9 as select * from pgr_fromAtoB('texas_roads_gcs', "+fromx+", "+fromy+", "+destx+","+desty+")";
stat.executeUpdate(query2);
String query = "select seq,gid,name,cost,heading from route9";
//System.out.println(query+"=query pgr from atob");
//ResultSet rs1 = stat.executeQuery(query1);
ResultSet rs = stat.executeQuery(query);
ResultSetMetaData rsmd = rs.getMetaData();
int col = rsmd.getColumnCount();
buf.append("<html>"+"<body>"+"<table border=2 >"+"<tr>");
for (int i = 1; i < col; i++) {
//writer.println("column MetaData ");
// get the column's name.
buf.append("<th>"+rsmd.getColumnName(i)+"</th>");
//writer.println("  ");
}
buf.append("</tr>");
writer.println("<br/>");
while(rs.next()){
buf.append("<tr>");
for(int i=1;i<col;i++){
buf.append("<td>"+rs.getString(i)+"</td>"+" ");
//writer.println(rs.getString(i));
//writer.println("   ");
//System.out.println(rs.getString(i)+"=value");
}
buf.append("</tr>");
//writer.println("<br/>");
}
buf.append("</table>" +
"</body>" +
"</html>");
String html = buf.toString();
writer.println(html);
String query4 = "select sum(cost) from route9";
ResultSet tot = stat.executeQuery(query4);
tot.next();
String sum = tot.getString(1);
double sum1 = Double.parseDouble(sum);
writer.println("<br/>");
writer.println("<br/>");
writer.println("Total cost is "+ sum1);
String blockQuery1 = "update texas_roads_gcs set length=length*1000 where gid=(select gid from (select gid,length,ST_DWithin(ST_GeomFromText(POINT("+x+" "+y+")),geom,0.05) from texas_roads_gcs where ST_DWithin(ST_GeomFromText(POINT("+x+" "+y+")),geom,0.05)='t')as s)";
stat.execute(blockQuery1);
rs.close();
stat.close();
conn.close();
}
catch(SQLException e){
System.out.println("exception"+e);
}catch(ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(conn!=null){
try{
conn.close();
}
catch(Exception e){
}
}
}
}
}