java程序只给出数据库表的第一列"用户" MSSQL

时间:2015-03-06 16:30:38

标签: java sql-server

我遇到的问题是我连接到数据库,但是即使我的查询语句是"从用户"选择*,也无法检索到超过第一列的问题。 下面是我的代码:

import java.sql.*;


public class Connecttodb {
public void dbConnect(String db_connect_string,String db_UserID,String db_UserPass)
{
    try{
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection conn = DriverManager.getConnection(db_connect_string,db_UserID,db_UserPass);
        System.out.println("connected");
        Statement statement= conn.createStatement();
        String querystring = "SELECT * FROM Users";
        ResultSet rs = statement.executeQuery(querystring);
        while(rs.next()){
            System.out.println(rs.getString(1));
        }
    }catch(Exception e){
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Connecttodb connServer= new Connecttodb();
    connServer.dbConnect("jdbc:sqlserver://TGOURDINE-PC\\SQLEXPRESS;databaseName=picture website", "tgourdine", "thomas");
}

}

结果只是第一列,UserID:

connected
1
2
3

我想要的结果如下:

connected
1 tgourdini thomas NULL NULL
2 Geoff     Marley NULL NULL
3 tara      Elaine NULL NULL

谢谢,

2 个答案:

答案 0 :(得分:1)

根据documentation getString(1)将只返回第一列。

答案 1 :(得分:0)

因为您只检索第一列

System.out.println(rs.getString(1));

将循环更改为

while(rs.next())
    System.out.println(rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4));

查看getString

的文档
  

检索当前行中指定列的值   此ResultSet对象为Java编程语言中的String。

另请参阅收到的参数文档

  

columnIndex - 第一列是1,第二列是2,...