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 cap=159]

4

3 に答える 3

1

バイトを取得して文字列に変換してみてください。

String name_result = new String(resultSet.getBytes("name"), "UTF-8");
System.out.println(name_result);
于 2012-07-06T15:34:45.277 に答える
0

SQL 文字列で一重引用符を使用してみてください。

String qry = "select name FROM tempcql where key = 'detail'";
于 2012-07-06T11:17:22.353 に答える
0

バイナリ形式で値を取得していますが、列タイプを文字列として指定しました。代わりに、次のように言う必要があります。

ObjectInputStream is = rs.getBinaryStream("name");
ByetBuffer bb = (ByteBuffer)is.readObject();
于 2012-07-06T11:29:15.860 に答える