Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/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_Sql_Arrays_Integer_Resultset - Fatal编程技术网

Java中整数数组的结果集

Java中整数数组的结果集,java,sql,arrays,integer,resultset,Java,Sql,Arrays,Integer,Resultset,如何将结果集转换为整数数组? 我真的需要一个整数数组。没有名单之类的 ResultSet rs = sqlite.query("SELECT ores FROM testtable WHERE nicknames='"+"testname"+"';"); “ores”包含8个由空格分隔的整数:102030050607080 编辑: “ores”存储为VARCHARResultSet是您的r查询的结果,如果要将其转换为ArrayList或简单整数数组,可以迭代ResultSet并将所有非空对象添

如何将结果集转换为整数数组? 我真的需要一个整数数组。没有名单之类的

ResultSet rs = sqlite.query("SELECT ores FROM testtable WHERE nicknames='"+"testname"+"';");
“ores”包含8个由空格分隔的整数:102030050607080

编辑:
“ores”存储为VARCHAR

ResultSet是您的r查询的结果,如果要将其转换为ArrayList或简单整数数组,可以迭代ResultSet并将所有非空对象添加到ArrayList或数组中。这是一个简单的解决方案…

ResultSet是您的R查询的结果,如果您想将其转换为ArrayList或简单整数数组,您可以迭代ResultSet并将所有非空对象添加到ArrayList或数组中。这是一个简单的解决方案…

可能类似于:

rs.last(); 
rowcnt = myResultSet.getRow(); // get row no.
rs.beforeFirst();

int i = 0;  
Integer[] options = new Integer[rowcnt];  
while (rs.next()) {  
  options[i] = Integer.parseInt(rs.getString(i));  
  i++;  
}  
可能是这样的:

rs.last(); 
rowcnt = myResultSet.getRow(); // get row no.
rs.beforeFirst();

int i = 0;  
Integer[] options = new Integer[rowcnt];  
while (rs.next()) {  
  options[i] = Integer.parseInt(rs.getString(i));  
  i++;  
}  
Vector=newvector();
rs.beforeFirst();
while(rs.next()){ores.add(rs.getInt(1));}
整数[]vals=ores.toArray(新整数[0]);
向量ores=new Vector();
rs.beforeFirst();
while(rs.next()){ores.add(rs.getInt(1));}
整数[]vals=ores.toArray(新整数[0]);

错误代码。我推荐一份准备好的声明:

PreparedStatement ps = connection.prepareStatement("SELECT ores FROM testtable WHERE nicknames= ?");
ps.setString(1, nickname);
ResultSet rs = ps.executeQuery();
List<Integer> values = new ArrayList<Integer>();
while (rs.next()) {
    String ores = rs.getString("ores");
    String [] tokens = ores.split("\\s+");
    for (int i = 0; i < tokens.length; ++i) {
        values.add(Integer.valueOf(tokens[i]));
    }
}
PreparedStatement ps=connection.prepareStatement(“从testtable中选择ores,其中昵称=?”;
ps.setString(1,昵称);
结果集rs=ps.executeQuery();
列表值=新的ArrayList();
while(rs.next()){
字符串ores=rs.getString(“ores”);
字符串[]标记=ores.split(\\s+);
for(int i=0;i
错误代码。我推荐一份准备好的声明:

PreparedStatement ps = connection.prepareStatement("SELECT ores FROM testtable WHERE nicknames= ?");
ps.setString(1, nickname);
ResultSet rs = ps.executeQuery();
List<Integer> values = new ArrayList<Integer>();
while (rs.next()) {
    String ores = rs.getString("ores");
    String [] tokens = ores.split("\\s+");
    for (int i = 0; i < tokens.length; ++i) {
        values.add(Integer.valueOf(tokens[i]));
    }
}
PreparedStatement ps=connection.prepareStatement(“从testtable中选择ores,其中昵称=?”;
ps.setString(1,昵称);
结果集rs=ps.executeQuery();
列表值=新的ArrayList();
while(rs.next()){
字符串ores=rs.getString(“ores”);
字符串[]标记=ores.split(\\s+);
for(int i=0;i
@downvoter:Downvoting不说为什么是无用的!最后,您可以从该ArrayList生成一个数组。@Ingo:有关如何从ArrayList生成数组的信息,请参见此处:我认为这是被否决的,因为您只有一行。您需要将该行中的字符串拆分,并将每个字符串转换为整数,然后添加到列表/数组中。这仍然不是cear。他只是说它是储存在瓦查尔的。。。没关系。我现在切换到8列,而不是将8个整数存储在一个varchar中。@downvoter:Downvoting没有说明为什么是无用的!最后,您可以从该ArrayList生成一个数组。@Ingo:有关如何从ArrayList生成数组的信息,请参见此处:我认为这是被否决的,因为您只有一行。您需要将该行中的字符串拆分,并将每个字符串转换为整数,然后添加到列表/数组中。这仍然不是cear。他只是说它是储存在瓦查尔的。。。没关系。我现在切换到8列,而不是将8个整数存储在一个varchar中。使用列数初始化arraysize,然后迭代所有行将保证
IndexOutOfBoundsException
s。投影中只有一列。因此
getColumnCount()
将始终返回1。更正-感谢您的评论。(我理解反对票——如果现在还可以,也许至少不应该有反对票)最好再看两次。。。rs.last()后跟rs.next()…:)@费尔多,谢谢!是的,总比后悔强一倍。。和我现在一样:)使用列的数量初始化arraysize,然后遍历所有行将保证
IndexOutOfBoundsException
s。投影中只有一列。因此
getColumnCount()
将始终返回1。更正-感谢您的评论。(我理解反对票——如果现在还可以,也许至少不应该有反对票)最好再看两次。。。rs.last()后跟rs.next()…:)@费尔多,谢谢!是的,总比后悔强一倍。。就像我现在说的:)
ores
是一个整数列,您需要8行,或者
ores
是一个字符串,其中有8个值,用空格分隔?忘了提一下,对不起。“ores”存储为VARCHAR。
ores
是一个整数列,您需要8行,或者
ores
是一个字符串,其中有8个值,用空格分隔?忘了提及这一点,抱歉。“ores”存储为VARCHAR。我认为这不起作用。他只有一排。您需要从第一行拆分字符串(使用空格分隔符),并将每个字符串转换为整数并添加到列表/数组中。skynorth是正确的。那不行,因为只有一排。行存储为字符串(VARCHAR),整数之间用空格分隔。对我来说,这听起来像是一个糟糕的规范化设计。甚至不是第一范式。无论如何,修复了代码。我认为这不起作用。他只有一排。您需要从第一行拆分字符串(使用空格分隔符),并将每个字符串转换为整数并添加到列表/数组中。skynorth是正确的。那不行,因为只有一排。行存储为字符串(VARCHAR),整数之间用空格分隔。对我来说,这听起来像是一个糟糕的规范化设计。甚至不是第一范式。不管怎样,修正了密码。