首先知道ResultSet和ResultSetMetaData的区别:通俗来讲,ResultSetMetaData是获取列信息,ResultSet是获取行信息。
在使用Java连接数据库并使用SQL语句获取索要查询的信息保存在ResultSet里面之后,在不清楚表的列信息结构的情况下,应该使用ResultSetMetaData来获取查询信息,如下代码:
while(rSet.next())
{
Vector rowVector=new Vector();//rowVector表示表每一行
for(int i=1;i<=rsmData.getColumnCount();++i)
{
rowVector.addElement(rSet.getString(i))//ResultSet.getString(int columnIndex)
}
vector.add(rowVector);//vector表示整个表
}
另外一种情况,在知道列名等信息的情况下,可以不需要使用ResultSetMetaData,如下代码:
while(rSet.next())
{
Vector rowVector=new Vector();
//按照列名获取每行的数据
rowVector.addElement(rSet.getString("cid"));
rowVector.addElement(rSet.getString("cname"));
rowVector.addElement(String.valueOf(rSet.getFloat("discnt")));
vector.add(rowVector);
}
以上是个人理解,如有不妥,请多指教。