我有一个Java Web应用程序。我必须创建一个表,我正在使用JDBC。
我不知道在我的list标签中会有多少个值,所以对于每个值标签,我需要在表格中有一个相应的列。这些值是从其他一些应用程序中获取的。
所以我可以创建一个 n 列数的表,其中 n 每次都可以不同。
<list>
<value>Name</value>
<value>Address</value>
<value>Contact No</value>
..
.
.
</list >
我怎样才能做到这一点?
答案 0 :(得分:1)
您应该使用 n 行来存储值,而不是 n 列。列以某种方式在数据库中“固定”,而添加/删除/修改行很容易。
答案 1 :(得分:-2)
您需要动态处理表结构。有几种解决方案。
使用JDBC,只需查询Oracle并检索表的列。
String myTable = "FOO_TABLE";
String query = "Select COLUMN_NAME from USER_TAB_COLUMNS where TABLE_NAME=?";
PreparedStatement ps = conn.prepareStatement(query);
ps.setString(1, myTable);
//
Set<String> existingColumns = new HashSet<String>();
ResultSet rs = ps.executeQuery();
while (rs.next())
{
existingColumns.add(rs.getString(1));
}
现在您知道哪个列存在与否,您可以根据需要ALTER
使用。