错误:找不到符号结果集



我真的被困在这个…我试图将结果集转换为字符串,这是我的代码:

QueryExecution qExec = QueryExecutionFactory.create(s, ds) ;
       ResultSet rs = qExec.execSelect() ;
       //String x=rs.toString();
       String[] arr = null;
        while (rs.next()) {
            String em = (String)rs.getString(0);
           arr = em.split("n");
           for (int i =0; i < arr.length; i++){
              subjectoutput.setText(arr[i]); 
           }
       }

给出错误:

JavaApplication2.java:137: error: incompatible types
            while (rs.next()) {
                          ^
  required: boolean
  found:    QuerySolution
JavaApplication2.java:138: error: cannot find symbol
                String em = (String)rs.getString(0);
                                      ^
  symbol:   method getString(int)
  location: variable rs of type ResultSet
2 errors

我的查询结果是:

    ----------------------------
| x                                           
================================================
| <<SEMA-CR-3-4MHV9RJ@bounce.oracle-mail.com>> |
------------------------------------------------

看起来您正在尝试使用ResultSet,就好像它来自JDBC一样。但你用的是耶拿ARQ。这不是JDBC实现,也不遵循该API。QueryExecution在这里,ResultSet在这里

对于这个ResultSet对象,您应该调用hasNext()来查看是否有另一条记录,并调用next()来获取该记录。所以你的循环可能看起来更像这样:

while (rs.hasNext()) {
    QuerySolution qs = rs.next();
    ... // Do something with qs
}

ResultSet.getString(int)是一个JDBC函数,在ResultSetQuerySolution上都没有这样的函数,所以我不能确切地告诉您如何从结果集中获得您想要的信息。

最新更新