results是空的,当然报空指针错误。
你想取到表结构results.getMetaData();,那么results必须是个非空的结果集合。
当前你没有搜索某个表,所以无法确定操作。
参考:
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
//boolean b = rsmd.isSearchable(1);
你想取到表结构results.getMetaData();,那么results必须是个非空的结果集合。
当前你没有搜索某个表,所以无法确定操作。
参考:
Statement stmt=con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
//boolean b = rsmd.isSearchable(1);
private Statement stmt;
private ResultSet results;
private ResultSetMetaData rsmd; private void display()
{
try
{
stmt = con.createStatement();
results = stmt.executeQuery("Select * From TableName");
rsmd=results.getMetaData();
int numCols=rsmd.getColumnCount();
boolean more=results.next();
while(more)
{
for(int i=1;i<=numCols;i++)
System.out.print(results.getString(i)+" ");
System.out.println();
more=results.next();
} }catch(SQLException e)
{
System.out.println("error a ");
}
}
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
boolean b = rsmd.isSearchable(1);以上代码目的是返回该表中元数据的信息也就是列的信息~不知道你是不时这个意思
也正如楼上说的rs是空的肯定不行~你这样就可以了~
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
ResultSetMetaData rsmd = rs.getMetaData();
int numberOfColumns = rsmd.getColumnCount();
//boolean b = rsmd.isSearchable(1);