我目前正在学习SQL,并且正在使用MS SQL Server2017。
除了列名之外,我能够打印出包含所有数据的特定表,我真的不知道如何检索它们。
这是我的代码的一部分(我删除了代码示例的try catch)
Connection conn = null;
ResultSet rs = null;
String query = "SELECT * FROM Example";
ResultSetMetaData rsmd = null;
Class.forName(driver);
conn = DriverManager.getConnection(connectionUrl, userName, password);
Statement mS = conn.createStatement();
System.out.println("Verbindung wurde hergestellt");
rs = mS.executeQuery(query);
rsmd = rs.getMetaData();
int columnsNumber = rsmd.getColumnCount();
while (rs.next()) {
for(int i = 1; i <= columnsNumber; i++) {
System.out.print(rs.getString(i)+ " ");
}
System.out.println();
}
编辑: 我希望只将它们打印一次,以便有某种“标题”
答案 0 :(得分:2)
您应该从循环开始为每个列索引打印rsmd.getColumnLabel(int column)。
// header
for(int i = 1; i <= columnsNumber; i++) {
System.out.print(rsmd.getColumnLabel(i)+ " ");
}
System.out.println();
// data
while(rs.next()) {
for(int i = 1; i <= columnsNumber; i++) {
System.out.print(rs.getString(i)+ " ");
}
System.out.println();
}