Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

тип обьекта $Proxy и его каст в нормальный обьект

17K
18 декабря 2007 года
olyx
13 / / 26.01.2007
Доброго времени суток уважаемые Java-гуру!
Пишу приложение - екстеншн для опенофиса. Имеется функция, которая выполняет sql запрос в контексте опенофиса, и которая должна возвращать RowSet.
Код:
public javax.sql.RowSet ExecSQL(String DataSource, String SQLtext)
        throws com.sun.star.uno.Exception, java.lang.Exception{
        xMCF = xContext.getServiceManager();
        Object rowSet = xMCF.createInstanceWithContext("com.sun.star.sdb.RowSet", xContext);
        com.sun.star.sdbc.XRowSet xRowSet = (com.sun.star.sdbc.XRowSet)
            UnoRuntime.queryInterface(com.sun.star.sdbc.XRowSet.class, rowSet);
        XPropertySet xProp = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xRowSet);
        xProp.setPropertyValue("DataSourceName", DataSource);
        xProp.setPropertyValue("CommandType", new Integer(com.sun.star.sdb.CommandType.COMMAND));
        xProp.setPropertyValue("Command",SQLtext);
        xProp.setPropertyValue("User", "loginname");
        xProp.setPropertyValue("Password", "pass");
        xRowSet.execute();
        return (javax.sql.RowSet)rowSet;

}

Данный код компилится , но при выполнении выбрасывает исключение java.lang.ClassCastException: $Proxy0 в строке return (javax.sql.RowSet)rowSet;
Понятно, что несовместимые классы. Посмотрел в дебагере - объект rowSet имеет тип $Proxy0. И как его привести к javax.sql.RowSet (по сути это же одно и тоже) - совершенно непонятно.
Можеть хто из вас сталкивался с этой проблемой, подскажите плиз!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог