您的代碼應該是這樣的 -
Map<String, List<String>> tableMap = new HashMap<String, List<String>>();
ArrayList<String> columnList = new ArrayList<String>();
PreparedStatement p = conn.prepareStatement(
"SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'SQLUser'");
ResultSet rs = p.executeQuery();
while (rs.next()) {
String columnName = rs.getString("COLUMN_NAME"));
columnList.add(columnName);
}
tableMap.put("SQLUser", columnList);
您也可以使用ResultSetMetadata來從表中獲取的列名。
ResultSet resultSet = st.executeQuery("Select * from SQLUser")
ResultSetMetaData metaData = resultSet.getMetaData();
int count = metaData.getColumnCount();
List<String> columnList = new ArrayList<String>();
for (int i = 1; i <= count; i++) {
columnList.add(metaData.getColumnLabel(i)));
}
*我有一些檢索表和列名的代碼... *然後將它添加到問題中。 – Manu
@Manu請發現我添加了檢索數據的代碼,但是我並沒有將它包括在首位,因爲它只是將結果添加到ResultSet rs中,因此它沒有增加任何問題。 – user3091905