我想知道如何在java中打印“Select *”查询?我尝试了这个函数,但执行后它给我这条消息“无效的列名”。
public static void ask() throws Exception {
try {
java.sql.Statement s= conn.createStatement();
ResultSet rs = s.executeQuery("SELECT * FROM DB1.T1");
System.out.println("**************Resultats**************");
while ( rs.next() ) {
String all = rs.getString("*");
System.out.println(all);
}
conn.close();
} catch (Exception e) {
System.err.println("exception! ");
System.err.println(e.getMessage());
}
}
最佳答案
这一行是问题所在:
String all = rs.getString("*");
您必须在 getString() 中提供列名称方法。目前它假定 *
作为列名,这是不正确的,因此显示错误。
您必须在其中提供列名称,如下所示:
String all = rs.getString("Column_Name");
编辑:-
如果你不想写列名,可以尝试这个
ResultSetMetaData md = rs.getMetaData();
int colCount = md.getColumnCount();
for (int i = 1; i <= colCount ; i++){
String col_name = md.getColumnName(i);
System.out.println(col_name);
}
关于java - 在java中打印 "Select *"查询中的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23291346/