打印“中的所有列”;选择*”;java中的查询
我想知道如何用java打印“Select*”查询?我尝试了这个函数,但它在执行后给了我这个消息“无效列名”打印“中的所有列”;选择*”;java中的查询,java,sql,Java,Sql,我想知道如何用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.print
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("*");
您必须在方法中提供列名。目前,它假定*
为不正确的列名,因此显示错误
您必须以如下方式提供列名:
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);
}
ResultSetMetaData md=rs.getMetaData();
int colCount=md.getColumnCount();
对于(int i=1;i您不能指定*
来获取值。对于您的查询返回并希望打印的每一列,请指定:
String all = rs.getString("your_column_name");
或:
其中“i”是查询输出中打印列的顺序查询中的*
表示选择表中的所有列
但是在执行查询之后,您的结果将具有所有列的名称。
因此,要访问结果,您必须执行以下操作:
String a_column_value = rs.getString("a_column_name");
您可以使用以下通用方法:
c = getConnection();
st = c.createStatement();
rs = st.executeQuery("select * from MY_TABLE");
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while(rs.next()) {
for(int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
Object object = rs.getObject(columnIndex);
System.out.printf("%s, ", object == null ? "NULL" : object.toString());
}
System.out.printf("%n");
}
c=getConnection();
st=c.createStatement();
rs=st.executeQuery(“从我的表格中选择*);
ResultSetMetaData元数据=rs.getMetaData();
int columnCount=metaData.getColumnCount();
while(rs.next()){
对于(int columnIndex=1;columnIndex)您需要打印查询本身还是此查询的结果?请尝试rs.getString(1);尝试rs.getString(2)检查此rs.getString(1);尝试rs.getString(2)
c = getConnection();
st = c.createStatement();
rs = st.executeQuery("select * from MY_TABLE");
ResultSetMetaData metaData = rs.getMetaData();
int columnCount = metaData.getColumnCount();
while(rs.next()) {
for(int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
Object object = rs.getObject(columnIndex);
System.out.printf("%s, ", object == null ? "NULL" : object.toString());
}
System.out.printf("%n");
}