使用JDBC创建数据库对象(6)
· 一个可视化的数据库程序
为了对我们本章学习的内容进行总结,我们编写一个简单的 GUI 程序,它可以显示数据库的表名、列名和列内容。我们还将包括一个文本区域,您可以在其中键入一个要对数据库执行的 SQL 查询。在 Companion CD-ROM 上的 \chapter20 子目录中,可以找到本程序(称为 dbFrame.java )所使用的 resultSet 和 Database 类。程序的显示界面如图 3 所示。

图3:用来显示用JDBC连接的数据库中的数据的dbFrame.java程序。
在本程序中,默认数据库(groceries.mdb)的表名显示在左侧的栏中。当您单击其中一个表名时,列名就会显示在中间的栏中。最后,当您单击中间栏中的某一行时,该行的内容就会显示在右侧的栏中。
本程序的关键只是接收列表选择,然后清除并填充正确的列表框:
< cellspacing="0"> < bgcolor="#CCCCCC"> public void itemStateChanged(ItemEvent e)
{
Object obj = e.getSource();
if (obj == Tables) //
放入列名
showColumns();
if (obj == Columns) //
放入列的内容
showData();
}
//--
private void loadList(List list, Sing[] s)
{
//
清除并填充指定的列表框
list.removeAll();
for (int i=0; i< s.length; i )
list.add(s[i]);
}
//--
private void showColumns()
{
//
显示列名
Sing cnames[] =
db.getColumnNames(Tables.getSelectedItem());
loadList(Columns, cnames);
}
//--
private void showData()
{
Sing colname = Columns.getSelectedItem();
Sing colval =
db.getColumnValue(Tables.getSelectedItem(),
colname);
Data.setVisible(false);
Data.removeAll();
Data.setVisible(ue);
colval =
db.getNextValue(Columns.getSelectedItem());
while (colval.length()>0)
{
Data.add(colval);
colval =
db.getNextValue(Columns.getSelectedItem());
}
} |