错误:找不到符号结果集

时间:2014-05-25 14:21:52

标签: java sparql jena

我真的被困在这......我正在尝试将结果集转换为字符串,这是我的代码:

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>> |
------------------------------------------------

1 个答案:

答案 0 :(得分:2)

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

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

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

ResultSet.getString(int)是一个JDBC函数,ResultSetQuerySolution上没有这样的函数,所以我无法准确地告诉你如何获取你想要的信息结果集。