使用JDBC創(chuàng)建數(shù)據(jù)庫對象(6)
· 一個(gè)可視化的數(shù)據(jù)庫程序
為了對我們本章學(xué)習(xí)的內(nèi)容進(jìn)行總結(jié),我們編寫一個(gè)簡單的 GUI 程序,它可以顯示數(shù)據(jù)庫的表名、列名和列內(nèi)容。我們還將包括一個(gè)文本區(qū)域,您可以在其中鍵入一 個(gè)要對數(shù)據(jù)庫執(zhí)行的 SQL 查詢。在 Companion CD-ROM 上的 \chapter20 子目錄中,可以找到本程序(稱為 dbFrame.java )所使用的 resultSet 和 Database 類。數(shù)據(jù)庫圖示"
在本程序中,默認(rèn)數(shù)據(jù)庫(groceries.mdb)的表名顯示在左側(cè)的欄中。當(dāng)您單擊其中一個(gè)表名時(shí),列名就會顯示在中間的欄中。最后,當(dāng)您單擊中間欄中的某一行時(shí),該行的內(nèi)容就會顯示在右側(cè)的欄中。
本程序的關(guān)鍵只是接收列表選擇,然后清除并填充正確的列表框:
public void itemStateChanged(ItemEvent e)
{
Object obj = e.getSource();
if (obj == Tables) //
放入列名
showColumns();
if (obj == Columns) //
放入列的內(nèi)容
showData();
}
//--
private void loadList(List list, String[] s)
{
//
清除并填充指定的列表框
list.removeAll();
for (int i=0; i< s.length; i++)
list.add(s[i]);
}
//--
private void showColumns()
{
//
顯示列名
String cnames[] =
db.getColumnNames(Tables.getSelectedItem());
loadList(Columns, cnames);
}
//--
private void showData()
{
String colname = Columns.getSelectedItem();
String colval =
db.getColumnValue(Tables.getSelectedItem(),
colname);
Data.setVisible(false);
Data.removeAll();
Data.setVisible(true);
colval =
db.getNextValue(Columns.getSelectedItem());
while (colval.length()>0)
{
Data.add(colval);
colval =
db.getNextValue(Columns.getSelectedItem());
}
}
· 一個(gè)可視化的數(shù)據(jù)庫程序
為了對我們本章學(xué)習(xí)的內(nèi)容進(jìn)行總結(jié),我們編寫一個(gè)簡單的 GUI 程序,它可以顯示數(shù)據(jù)庫的表名、列名和列內(nèi)容。我們還將包括一個(gè)文本區(qū)域,您可以在其中鍵入一 個(gè)要對數(shù)據(jù)庫執(zhí)行的 SQL 查詢。在 Companion CD-ROM 上的 \chapter20 子目錄中,可以找到本程序(稱為 dbFrame.java )所使用的 resultSet 和 Database 類。數(shù)據(jù)庫圖示"
在本程序中,默認(rèn)數(shù)據(jù)庫(groceries.mdb)的表名顯示在左側(cè)的欄中。當(dāng)您單擊其中一個(gè)表名時(shí),列名就會顯示在中間的欄中。最后,當(dāng)您單擊中間欄中的某一行時(shí),該行的內(nèi)容就會顯示在右側(cè)的欄中。
本程序的關(guān)鍵只是接收列表選擇,然后清除并填充正確的列表框:
public void itemStateChanged(ItemEvent e)
{
Object obj = e.getSource();
if (obj == Tables) //
放入列名
showColumns();
if (obj == Columns) //
放入列的內(nèi)容
showData();
}
//--
private void loadList(List list, String[] s)
{
//
清除并填充指定的列表框
list.removeAll();
for (int i=0; i< s.length; i++)
list.add(s[i]);
}
//--
private void showColumns()
{
//
顯示列名
String cnames[] =
db.getColumnNames(Tables.getSelectedItem());
loadList(Columns, cnames);
}
//--
private void showData()
{
String colname = Columns.getSelectedItem();
String colval =
db.getColumnValue(Tables.getSelectedItem(),
colname);
Data.setVisible(false);
Data.removeAll();
Data.setVisible(true);
colval =
db.getNextValue(Columns.getSelectedItem());
while (colval.length()>0)
{
Data.add(colval);
colval =
db.getNextValue(Columns.getSelectedItem());
}
}