Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
есть таблица T, в ней есть поле V. тип поля V - пользовательский класс С, который насколько понимаю ни на какую отдельную таблицу не отображается. у класса С есть поле V1 и метод M1() возвращающий, допустим, строку как SQL запросом (никак не могу вкурить синтаксис) из таблицы Т вытащить из каждого экземпляра, сидящего в поле V, поля V1 и результат возвращаемый методом M1() ЗЫ. сори за сумбурное объяснение - с ОО СУБД работаю почти что впервые Я не падаю. Я так летаю. Каждый летает как умеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 11:57 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Вам нужно сделать вычисляемое поле и вычислять его этим методом. Напрямую методы объекта в SQL вызвать нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 12:23 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., хорошо, опустим обращение к методу. можно ли вытащить в запросе поле V1 из экземпляра класса С, хранящегося в поле V таблицы Т? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 12:27 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Alexei Zaycev, Было бы неплохо увидеть структуру Ваших классов. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Если класс С - хранимый, то Код: plaintext Если класс С - сериализуемый, то Код: plaintext Если класс С - зарегистрированный (не хранимый), то через SQL - никак, так как SQL работает только с классами так или иначе хранимыми в БД. The Object-SQL Projection for Class Members ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 12:43 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
servit, класс С - сериализуемый (C Extends %SerialObject) попробовал select V_V1 from T результат - "ОШИБКА #5540 SQLCODE -29 Поле V_V1 не найдено в обрабатываемых таблицах" просто select V from T работает, выдавая конечно фигню (конвертит к строке экземпляр) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 13:00 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Alexei Zaycev, Поэтому и прошу исходники структуры Ваших классов. Ошибка возникает скорее всего из-за того, что в БД уже были сохранены какие-то данные, но другого типа. PS: структура хранения данных очень сильно зависит от того, какой класс Вы используете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 13:10 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
servit, увы я не разработчик системы и исходников у меня нету - есть работающая развернутая система я просто пытаюсь вытащить данные из нее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 13:17 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Структуру классов можно посмотреть с помощью Caché Documatic , структуру данных - с помощью Портала . PS: конечно, лучше всего обратиться к разработчикам системы, так как, возможно, доступ к некоторым данным через SQL не был предусмотрен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 14:06 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
servit, структура данных - таблица Test.T Код: plaintext 1. структура класса - Test.С Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 14:26 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Читайте данные, используя объекты, а не SQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 15:06 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
servit, к сожалению данные могу тягать только удаленно подключившись по ODBC а при таком раскладе, как я понимаю, только SQL был возможен что ж, печально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 15:15 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Судя по ODBC-типу, в V хранится строка. Может запрос по полю V тогда просто вернет значение V1? (Никогда не пользовался %SerialObject с одним полем, поэтому точно не знаю.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 16:31 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Turk, строка-строкой но на выходе там явно не V1 а бинарная каша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 16:57 |
|
||
|
SQL & классы
|
|||
|---|---|---|---|
|
#18+
Alexei ZaycevTurk, строка-строкой но на выходе там явно не V1 а бинарная каша А если попробовать так: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.07.2010, 17:42 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36754654&tid=1558011]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
169ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 491ms |

| 0 / 0 |
