2012-07-06 4 views
0

이 프로그램을 실행할 때 출력 화면에서이 문제가 발생했습니다. 문제가 무엇인지 모릅니다. 누락 된 부분이 있습니다. 여기 결과 집합에서 열 값을 검색하는 방법

import org.apache.cassandra.cql.jdbc.*; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.*; 
import javax.sql.*; 
public class Operations 
{ 
     public static void main(String[] args){ 
     try 
     { 
      Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver"); 
      Connection con = DriverManager.getConnection("jdbc:cassandra://localhost:9160/temp"); 
      //String name = "name"; 
      String qry = "select name FROM tempcql where key = detail"; 
      Statement smt = con.createStatement(); 
      ResultSet resultSet = smt.executeQuery(qry); 
      while(resultSet.next()) 
      { 
       System.out.println(resultSet.getString("name")); 
      } 

     } 
     catch(Exception e) 
     { 
      System.out.println(" : "+e.getMessage()); 
     } 
      } 
} 

이의 출력 : java.nio.HeapByteBuffer [POS = 86 LIM = 91 캡 = 159]

답변

1

바이트를 가져 와서 문자열로 변환 해 볼 수 있습니다.

String name_result = new String(resultSet.getBytes("name"), "UTF-8"); 
System.out.println(name_result); 
0

당신의 SQL 문자열에 따옴표를 사용하십시오 :

String qry = "select name FROM tempcql where key = 'detail'"; 
+0

나는이 작업을했지만 작동하지 않습니다. 다시 같은 결과가 나왔어. –

0

바이너리 형식의 값을 얻고 있습니다. 그러나 열 유형을 string으로 지정했습니다. 대신 다음과 같이 말해야합니다 :

ObjectInputStream is = rs.getBinaryStream("name"); 
ByetBuffer bb = (ByteBuffer)is.readObject(); 
관련 문제