Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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程序只给出数据库表的第一列;“用户”;MSSQL_Java_Sql Server - Fatal编程技术网

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

java程序只给出数据库表的第一列;“用户”;MSSQL,java,sql-server,Java,Sql Server,我遇到了一个问题,即我连接到数据库,但无法检索超过第一列的内容,即使我的查询语句是“Select*from Users” 下面是我的代码: import java.sql.*; public class Connecttodb { public void dbConnect(String db_connect_string,String db_UserID,String db_UserPass) { try{ Class.forName("com.microsoft.

我遇到了一个问题,即我连接到数据库,但无法检索超过第一列的内容,即使我的查询语句是“Select*from Users” 下面是我的代码:

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
我想要的结果如下:


谢谢,

因为您只检索第一列

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

检索当前行中指定列的值 在Java编程语言中,此ResultSet对象是一个字符串

还可以查看收到的参数文档

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


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

好的,您要求将每行的第一列作为字符串;你还期待什么吗?如果我没有指出你可能永远都不应该以编程的方式从任何东西中选择*,那我就是失职了。最好只选择所需的列,并添加一个
WHERE
子句。
while(rs.next())
    System.out.println(rs.getString(1) + " " + rs.getString(2) + " " + rs.getString(3) + " " + rs.getString(4));