有没有一个方法可以返回每个记录集包含多少个字段? ResultSetMetaData rsmt = rs.getMetaData();columnCount = rsmt.getColumnCount() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 rSetMetaData = rSet.getMetaData();rSetMetaData.getColumnCount()thinkerhj(布恩特) 的说法是对的。 没有恐怕不行的说法。我用这种方法已经好几年了! 支持 thinkerhj(布恩特) 使用元数据 public String[][] executeQuery(String strSQL) { String[][] ret = null; if (connect() && createStatement()) { try { m_resultset = m_statement.executeQuery(strSQL); m_rsmd = m_resultset.getMetaData(); int nColCount = m_rsmd.getColumnCount(); m_strArrayColumnName = new String[nColCount]; for (int i = 0; i < nColCount; i++) { m_strArrayColumnName[i] = m_rsmd.getColumnLabel(i + 1); } Vector vectorRecord = new Vector(); while (m_resultset.next()) { Vector vectorRow = new Vector(); for (int i = 1; i <= nColCount; i++) { vectorRow.addElement(m_resultset.getObject(i)); System.out.println(m_strArrayColumnName[i-1] + " = " + m_resultset.getObject(i)); } vectorRecord.addElement(vectorRow); } int nRecord = vectorRecord.size(); System.out.println("数据库中有" + nRecord + "记录!"); if (nRecord >= 1) { ret = new String[nRecord][nColCount]; for (int i = 0; i < nRecord; i++) { Vector tmpVector = (Vector)vectorRecord.get(i); for (int ii = 0; ii < nColCount; ii++) { ret[i][ii] = (String)tmpVector.get(ii); } } } return ret; } catch(SQLException e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "SQLException, 查询数据库信息出错!", "错误", JOptionPane.YES_OPTION); return null; } catch(Exception e) { e.printStackTrace(); JOptionPane.showMessageDialog(null, "Exception, 查询数据库信息出错!", "错误", JOptionPane.YES_OPTION); return null; } } else { return null; } }m_strArrayColumnName[i]数组就是你想要的东东!祝你好运! 有会java和notes互相调用的人吗? 弱问下,作gui是不是可以直接用可视化的(^_^)生成工具? 只要会操纵数据库,就会短信编程 技术总监问我的java字符串替换的基础问题,郁闷 问《TIJ》第四章练习题中的第8题~~ 在JAVA中怎样设置字体? 对google头疼 偶是初学者,有个问题咨询一下(applet) 求救:安装1.4.2时乱码?? 我想试试我的msn(hotmail登录的那个聊天软件)是否能用,但是没有再线的其他用户!那为朋友能提供一个那我测试一下? 简单问题(极品菜鸟问题) 关于剪贴板的小问题 高分在线等结帐
rSetMetaData = rSet.getMetaData();
rSetMetaData.getColumnCount()
thinkerhj(布恩特) 的说法是对的。 没有恐怕不行的说法。
我用这种方法已经好几年了!
使用元数据
String[][] ret = null;
if (connect() && createStatement()) {
try {
m_resultset = m_statement.executeQuery(strSQL);
m_rsmd = m_resultset.getMetaData();
int nColCount = m_rsmd.getColumnCount();
m_strArrayColumnName = new String[nColCount];
for (int i = 0; i < nColCount; i++) {
m_strArrayColumnName[i] = m_rsmd.getColumnLabel(i + 1);
}
Vector vectorRecord = new Vector();
while (m_resultset.next()) {
Vector vectorRow = new Vector();
for (int i = 1; i <= nColCount; i++) {
vectorRow.addElement(m_resultset.getObject(i));
System.out.println(m_strArrayColumnName[i-1] + " = " + m_resultset.getObject(i));
}
vectorRecord.addElement(vectorRow);
}
int nRecord = vectorRecord.size();
System.out.println("数据库中有" + nRecord + "记录!");
if (nRecord >= 1) {
ret = new String[nRecord][nColCount];
for (int i = 0; i < nRecord; i++) {
Vector tmpVector = (Vector)vectorRecord.get(i);
for (int ii = 0; ii < nColCount; ii++) {
ret[i][ii] = (String)tmpVector.get(ii);
}
}
}
return ret;
}
catch(SQLException e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "SQLException, 查询数据库信息出错!", "错误", JOptionPane.YES_OPTION);
return null;
}
catch(Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(null, "Exception, 查询数据库信息出错!", "错误", JOptionPane.YES_OPTION);
return null;
}
}
else {
return null;
}
}m_strArrayColumnName[i]数组就是你想要的东东!祝你好运!