【问题标题】:Cassandra JDBC preparedstatment errorCassandra JDBCpreparedstatement错误
【发布时间】:2014-08-01 06:44:14
【问题描述】:

我在键空间“chemdb”中定义了以下 cassandra 表“用户”

CREATE TABLE users (
  userid text PRIMARY KEY,
  passwd text,
  fname text,
  lname text,
  creationdate timestamp,  
  isactive text  
);   

我创建了一个 java 类 JDBConnec.java 来使用 jdbc 连接 jsp 和 cassandra:

package dbclasses;

    import java.sql.*;
    import java.lang.*;
    import java.io.*;   

     public class JDBConnec {

           public Statement stmt=null;     
           public ResultSet rs=null;   
           public Connection con=null;

       public PreparedStatement pstmt = null;


        public JDBConnec()
        {

        try
        {
            Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
            con = DriverManager.getConnection("jdbc:cassandra://127.0.0.1:9160/chemdb","okkkkk","12345");   
        }
        catch(Exception ex)
        {
            System.out.println(ex.getMessage());         
        }
       }
    }

以上类编译成功。

但是,在我的 jsp 文件中,当我使用以下代码通过 Preparedstatements 从数据库中选择记录时,出现以下错误:

JDBConnec db = new JDBConnec();
String query = "select * from users where userid=?";
db.pstmt = db.con.prepareStatement(query); 
db.pstmt.setString(1, "henry");
db.rs = db.pstmt.executeQuery();

它给出以下错误

InvalidRequestException(why:Undefined name userid in where clause ('userid EQ ?'))

cassandra jdbc 驱动程序是否支持jsp 中的preparedstatments?关于为什么会发生此错误的任何想法。提前致谢。

Cassandra 版本:2.0.8 爪哇:7 Apache tomcat:昨天最新下载的

【问题讨论】:

  • “henry”中的单引号是什么意思?它应该是“henry”。
  • 对不起,我在这里复制粘贴代码时错误地放了。在代码中我使用了一个字符串变量。
  • 似乎无法识别用户 ID。确保用户 ID 正是您在数据库中查找的列。
  • 是查询问题。我更改了查询并删除了星号,它工作正常。谢谢。

标签: java jdbc cassandra


【解决方案1】:

我能够找出问题所在。我只是将查询从

String query = "select * from users where userid=?";

String query = "select userid, passwd from chemdb.users where userid=?";    

效果很好。

谢谢!

【讨论】:

    猜你喜欢
    • 2011-10-15
    • 2015-12-20
    • 2021-01-27
    • 1970-01-01
    • 2020-07-04
    • 2017-07-29
    • 2015-08-24
    • 2015-01-05
    • 2012-05-08
    相关资源
    最近更新 更多