Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从结果集中检索列值_Java_Cassandra_Cql_Jdbc Odbc - Fatal编程技术网

Java 如何从结果集中检索列值

Java 如何从结果集中检索列值,java,cassandra,cql,jdbc-odbc,Java,Cassandra,Cql,Jdbc Odbc,当我运行这个程序时,我在输出屏幕上看到了这个。我不知道是什么问题。我缺少了什么 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[]

当我运行这个程序时,我在输出屏幕上看到了这个。我不知道是什么问题。我缺少了什么

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]

尝试在SQL字符串中使用单引号:

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

您正在以二进制格式获取值。但是您将列类型指定为字符串。您需要说:

ObjectInputStream is = rs.getBinaryStream("name");
ByetBuffer bb = (ByteBuffer)is.readObject();

您可以尝试获取字节并将其转换为字符串:

String name\u result=新字符串(resultSet.getBytes(“name”),“UTF-8”);
System.out.println(name\u result);