5.A.1.7.4.1. Schemat i nazwa tabeli Oracle
Poniższy kod można umieścić w konfiguracji skyptów akcji by podpiąć go do listy tabel wtyczki obsługi bazy danych Oracle.
Przykład oprócz sposobu użycia samego BeanShell pokazuje w jaki sposób dostać się do danych zawartych na liście wyników.
Tytuł akcji: Jaka to tabela (przykład BeanShell)
Klucz akcji: oracle-tables-actions
import pl.mpak.orbada.gui.comps.table.ViewTable;
import pl.mpak.sky.gui.mr.ModalResult;
import pl.mpak.sky.gui.swing.MessageBox;
import pl.mpak.usedb.util.SQLUtil;
if (component instanceof ViewTable) {
ViewTable vt = (ViewTable)component;
if (vt.getSelectedRow() >= 0) {
try {
vt.getQuery().getRecord(vt.getSelectedRow());
String schemaName = vt.getQuery().fieldByName("schema_name").getString();
String tableName = vt.getQuery().fieldByName("table_name").getString();
MessageBox.show(SQLUtil.createSqlName(schemaName, tableName));
} catch (Exception ex) {
MessageBox.show("Błąd", ex.getMessage(), ModalResult.OK);
}
}
}
5.A.1.7.4.2. Szybkie kopiowanie DLL tabeli
Poniższy kod można umieścić w konfiguracji skyptów akcji by podpiąć go do listy tabel wtyczki obsługi bazy danych Oracle.
Przykład pokazuje w jaki sposób można użyć obiektu SourceCreator z wtyczki Oracle oraz skopiować wynik do schowka systemu operacyjnego.
Action title: Szybkie kopiowanie DDL (przykład BeanShell)
Action key: oracle-tables-actions
import pl.mpak.orbada.gui.comps.table.ViewTable;
import pl.mpak.sky.gui.mr.ModalResult;
import pl.mpak.sky.gui.swing.MessageBox;
import pl.mpak.orbada.oracle.util.SourceCreator;
import pl.mpak.util.TextTransfer;
if (component instanceof ViewTable) {
ViewTable vt = (ViewTable)component;
if (vt.getSelectedRow() >= 0) {
try {
vt.getQuery().getRecord(vt.getSelectedRow());
new TextTransfer().setClipboardContents(
new SourceCreator(database, null).getSource(
vt.getQuery().fieldByName("schema_name").getString(),
"TABLE",
vt.getQuery().fieldByName("table_name").getString()));
} catch (Exception ex) {
MessageBox.show("Problem", ex.getMessage(), ModalResult.OK);
}
}
}

