2015-07-09 36 views
1

所以这里是我遇到的麻烦的代码片段:为什么SQL索引转到错误的列?

while(rs.next()){ 
      if(qu==rs.getInt(1)){ 
       for(int a=0; a<7; a++){ 
        System.out.printf("%s\t%s\t%s\t%s", rs.getDouble(2), budgets[a][qu], (rs.getDouble(2)-budgets[a][qu]), (rs.getDouble(2)-budgets[a][qu])/budgets[a][qu]); 
        System.out.println(); 
       } 
      } 
     } 

我在MySQL的这些值的表:

id|sales 

1 12 
2 -99 
3 -99 
4 -99 

但是当过我运行方法rs.getInt( 1)(其中rs是ResultSet),我从“销售”列中获取值,而不是“id”列。我使用的方法错了吗?任何人都可以告诉我如何从id/1st列中获取数据吗?

+0

执行列索引从0开始?例如第一列是'rs.GetDouble(0)',第二列是'rs.GetDouble(1)'。 –

+0

不,SQL索引从1开始。 –

+0

公平的评论!你的SQL语句列出了哪些字段?这是我认为他们可以互换的唯一方式。 –

回答

1

正如OP所标识的那样,基础SQL查询与数据库表有不同的列顺序。

这绝对不是列索引以0开始,因为作为OP指出,他们在启动mysql在1 O)

相关问题