我想在我的代码中将第一个查询(课程)的值放到其他查询(mapcategory)中。 第一个查询中的值在第二个查询中不会转换为字符串。
public String query() throws Exception {
JSONObject inputJsonObj = new JSONObject();
JSONArray inputArray = new JSONArray();
String array=null;
Database db = new Database();
db.my_Connection();
List<HashMap> course = db.Query("select NAME from file where visual_code='1'");
inputArray = new JSONArray();
if(course !=null)
for (int i=0; i<course.size(); i++){
HashMap data=(HashMap)course.get(i);
inputJsonObj = new JSONObject();
inputJsonObj.put("NAME",(String) data.get("NAME"));
inputArray.put(inputJsonObj);
}
arra=String.valueOf(course);
List<HashMap> mapCategory = db.Query("select PATH from c_"+arra+"_item item" +
" LEFT JOIN cr_"+arra+"_document doc" +
" ON item.ref = doc.id WHERE visibility = 1 AND tool = 'document'");
inputArray = new JSONArray();
if(mapCategory !=null)
for (int i=0; i<mapCategory.size(); i++){
HashMap data=(HashMap)mapCategory.get(i);
inputJsonObj = new JSONObject();
inputJsonObj.put("PATH",(String) data.get("PATH"));
inputArray.put(inputJsonObj);
}
db.Close_Connection();
return inputArray.toString();
}
我对此代码进行了调试并获得了一个错误
HTTP状态500 - com.sun.jersey.api.container.MappableContainerException: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:您有错误 在你的SQL语法中;查看与MySQL对应的手册 服务器版本,用于在附近使用正确的语法 &#39; {NAME = TUTORIAL} _item_property项目LEFT JOIN crs_ {NAME =教程} _d&#39;在第1行
我只想获得价值&#34; TUTORIAL&#34;结果。
答案 0 :(得分:0)
你的问题在arra=String.valueOf(course);
,因为你在字符串中保存了hashmap的字符串表示,而你需要一个hashmap的值。
替换
arra=String.valueOf(course);
到
arra=course.get("NAME");