Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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 如何将sql查询中的计数值存储到变量中,以便根据表中的客户数创建customerid?_Java_Sql_Variables_Count - Fatal编程技术网

Java 如何将sql查询中的计数值存储到变量中,以便根据表中的客户数创建customerid?

Java 如何将sql查询中的计数值存储到变量中,以便根据表中的客户数创建customerid?,java,sql,variables,count,Java,Sql,Variables,Count,我想将接收到的计数值存储到一个变量count中,然后可以将该变量附加到一个字符串中,以准备客户id,但它给了我游标无效错误。请看下面,帮我解决一下。提前感谢。:) 输出: Connection Successfull sun.jdbc.odbc.JdbcOdbcConnection@39b27b java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state at sun.jdbc.odbc.Jdb

我想将接收到的计数值存储到一个变量count中,然后可以将该变量附加到一个字符串中,以准备客户id,但它给了我游标无效错误。请看下面,帮我解决一下。提前感谢。:)

输出:

Connection Successfull
sun.jdbc.odbc.JdbcOdbcConnection@39b27b
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Invalid cursor state
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbc.SQLGetDataInteger(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getDataInteger(Unknown Source)
    at sun.jdbc.odbc.JdbcOdbcResultSet.getInt(Unknown Source)
    at components.genrateid.generateid(genrateid.java:29)
    at components.genrateid.main(genrateid.java:43)
插入这一行

if(rs.next()) 
以前

  count = rs.getInt(1); 

你会很好的。但是,正如DEMS所说的,考虑使用标识列(或者因为您正在使用Oracle -序列)

为什么不使用身份栏呢?也不应该使用JDBC/ODBC桥。车又慢又多。Oracle有一个非常好的纯(Type4)JDBC驱动程序。@Dems:Oracle没有“IDENTITY”列。他/她需要使用一个序列。@a_horse_,没有名字-我遗漏了什么,你怎么知道这是给Oracle的?@Dems:是JDBC和用户名/密码。“XE”通常用于OracleExpress,“scott/tiger”是Oracle的默认帐户之一。这两者一起是Oracle安装的有力指标。
  count = rs.getInt(1);