class DCNDemoListener implements DatabaseChangeListener
{
String rid;
DBChangeNotification demo;
DCNDemoListener(DBChangeNotification dem)
{
demo = dem;
}
public void onDatabaseChangeNotification(DatabaseChangeEvent e)
{
Thread t = Thread.currentThread();
// System.out.println("DCNDemoListener: got an event ("+this+" running on thread "+t+")");
// System.out.println(e.toString());
TableChangeDescription[] tableChangeDescription = e.getTableChangeDescription();
QueryChangeDescription[] queryChangeDescription = e.getQueryChangeDescription();
RowChangeDescription[] rowChangeDescriptions = queryChangeDescription.getTableChangeDescription()[0].getRowChangeDescription(); // error here
for (RowChangeDescription rowChangeDescription : rowChangeDescriptions)
{
rowChangeDescription.getRowid();
}
}
Я получаю сообщение об ошибке getTableChangeDescription()[0]
. Он говорит, что не может найти символ. Я правильно импортировал класс и файл ojdbc6.jar, а также проверил документ API и не знаю, почему я получаю сообщение об ошибке.
По сути, я пытаюсь получить ROWID, чтобы узнать, где именно была выполнена вставка/обновление/удаление.
Глядя на предыдущий post1, post2 некоторых других пользователей имеет те же шаги для решения проблемы, но мой не работает.