【发布时间】:2013-03-30 18:32:51
【问题描述】:
我尝试运行这个 mysql 查询并且我有这个错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 你有一个 SQL 语法错误;检查与您对应的手册 MySQL 服务器版本,用于在 'SET @r2 = 附近使用正确的语法 GeomFromText('多边形((1 1,5 1,5 5,1 5,1 1))');选择 MBROVERLAPS(@r1' 在第 2 行
代码:
public String getoverlap(Rectangle recA, Rectangle recB){
String result = "-1";
String query;
query =
"SET @r1 = GeomFromText(\'Polygon((1 1, 5 1,5 5,1 5,1 1))\');\n" +
"SET @r2 = GeomFromText(\'Polygon((1 1,5 1,5 5,1 5,1 1))\');\n" +
"select MBROVERLAPS(@r1,@r2);" ;
System.out.println("query--:\n "+query);
try {
this.statement = this.connection.createStatement();
ResultSet rs = this.statement.executeQuery(query);
System.out.println("kkk:" +rs.toString());
if(rs!=null){
result = rs.getString("MBROVERLAPS(@r1,@r2)");
}
else{
System.out.println("Debug: lathos sthn getoverlap");
}
statement.close();
} catch (SQLException ex) {
System.out.println("debug: sqlEcxeption");
Logger.getLogger(Database.class.getName()).log(Level.SEVERE, null, ex);
}
return result;
}
问题出在哪里?
【问题讨论】: