|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Использую среду разработки PowerBuilder 6.5. В таблице существует два поля - идентификатора со справочной таблицей. Соответственно в при выборе источника данных SQL SELECT происходит два соединения Join c одной и той же таблицей. При этом движок PowerBuilder в окне Syntax правильно рисует два псевдонима справочной таблицы: *_a и *_b, но при выборе отображаемых полей из этих двух псевдонимов делает два столбца с одинаковым именем. Получается вместо двух разных соединений одно двойное. Я решил сделать через хранимую процедуру(источник - Stored Procedure), но при выборе процедуры возникает ошибка. Cannot create DataWindow. 'Data-conversion resulted in overflow. 1 execute dbo.proba;1 ' На всякий случай в теле процедуры я оставил только операторы Begin и End, но DataWindow по прежнему не создается из-за этой ошибки. Скажите, что с этим делать? Может быть есть какой-то способ отключить графический редактор и все ручками набрать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 10:10 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
в графическом режиме -> Design -> Convert To Syntax ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 10:42 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
BoBaaaaaв графическом режиме -> Design -> Convert To Syntax Спасибо, но к сожалению получается только оператор Select, а DataWindow использует в качестве данных не выбранные Select-ом значения, а свои переменные которые она сама генерирует. Они находятся вверху в списке Selection List. Еще вопрос, у написанных ранее DataWindow встретился с таким кодом в SQL->Edit Execute execute dbo.select_d_ist;1 @id = :id Для чего здесь 1? Во встроенной документации такого синтаксиса не нашел. Без 1 работает точно также. И может кто-то посоветует ссылку на Руководство по PB. Желательно на русском, но хотя бы и на английском. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 10:56 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
1 - первый резалтсет ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 12:26 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
spas20011 - первый резалтсет ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца В смысле результат выполнения первого Selectа в хранимой процедуре? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 12:36 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
У вас какая БД? ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 12:41 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 12:45 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
spas2001У вас какая БД? ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца Э, не понял к чему, но MS SQL SERVER 2005. И почему заголовок от другой темы ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 14:06 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Тогда читайте выше ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 14:48 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Смотрю с набором SQL через синтаксис тут проблема (да и с билдером тоже), что можно посоветовать. Поля с разными названиями просто набирайте как и набирали. А с совпадающими именами предлагаю просто вписать Computed Filed типа field_a = table_a.field или table_a.field as field_a. Либо как тут советовали тут правильные люди - написать запрос ручками или полуручками и его подправить добавив алиасы полей на полях с одинаковыми названиями. Все понятно или требуется разжевать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 15:39 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
andy753Смотрю с набором SQL через синтаксис тут проблема (да и с билдером тоже), что можно посоветовать. Поля с разными названиями просто набирайте как и набирали. А с совпадающими именами предлагаю просто вписать Computed Filed типа field_a = table_a.field или table_a.field as field_a. Либо как тут советовали тут правильные люди - написать запрос ручками или полуручками и его подправить добавив алиасы полей на полях с одинаковыми названиями. Все понятно или требуется разжевать? Пока что ничего не понятно. В каком месте Cumputed Filed это прописывать? К чему описание Create procedure тоже не ясно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 16:04 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Сами же спрашивали MB_SQL_CMЕще вопрос, у написанных ранее DataWindow встретился с таким кодом в SQL->Edit Execute execute dbo.select_d_ist;1 @id = :id ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2009, 17:10 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Неужели никто не знает? Ни одного внятного ответа. Очень странно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 11:20 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
MB_SQL_CMНеужели никто не знает? Ни одного внятного ответа. Очень странно. А если посмотреть на это с другой стороны, то уровень задающего вопросы не достаточен, чтобы воспринять ответы ему данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 12:15 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
To Локшин Марк +1 ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 13:24 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
В этой ветке все отвечают почему-то свысока. Сколько было постов, ни одного ответа. Снисходительное "разжевать", "не тот уровень". Можете пытаться уверить кого-то другого в своем великом уме. Никаких особых солжностей в PB нет, среда, где кривая графическая оболочка мешает как может. Здесь всего лишь присутствует баг программы, а вы не знаете что ответить. Если не знаете в чем дело, лучше бы промолчали, чем давать бессмысленные язвительные замечания. Неприятные люди, вам надо что-то делать со своим чувством собственной важности. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 14:14 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
MB_SQL_CM, Попробую ответить подробнее. Но, с 6.5 давно не работал - там GUI немного другое, ищите соответствия в названиях. То что они есть - ручаюсь. Вначале - забудьте про процедуру, пока. 1. Создайте DW, 2. выберите свои 2 одинаковые таблицы, дважды тапнув по нужной таблице, пусть она называется "table". 3. У Вас появится 2 таблицы с именами "table_a" & "table_b". Остальные связи и таблицы также добавляйте - какие Вам нужно. 4. Зайдите в секцию "Compute" и там наберите в пустом поле что-то типа: field_a = table_a.field 5. Нажмите Таб, появиться вторая строка, там наберите: field_b = table_b.field 6. Можно выходить из дизайнера SQL, в дизайнере DW появятся 2 поля: field_a & field_b. Понятно, что названия полей и таблиц относительны :) Все понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 14:19 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
To MB_SQL_CM Вместо того чтобы наезжать, лучше включите свой мозг RTFM Вы спрашивали про непонятную цифру - я вам ответил, даже кусок документации привел Но если у вас не хватает знаний об элементарном SQL выражении, могли бы помолчать Если человек ничего не знает про алиасы и самообъединение талиц... В общем, делайте выводы ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 14:39 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
andy753MB_SQL_CM, Попробую ответить подробнее. Но, с 6.5 давно не работал - там GUI немного другое, ищите соответствия в названиях. То что они есть - ручаюсь. Вначале - забудьте про процедуру, пока. 1. Создайте DW, 2. выберите свои 2 одинаковые таблицы, дважды тапнув по нужной таблице, пусть она называется "table". 3. У Вас появится 2 таблицы с именами "table_a" & "table_b". Остальные связи и таблицы также добавляйте - какие Вам нужно. 4. Зайдите в секцию "Compute" и там наберите в пустом поле что-то типа: field_a = table_a.field 5. Нажмите Таб, появиться вторая строка, там наберите: field_b = table_b.field 6. Можно выходить из дизайнера SQL, в дизайнере DW появятся 2 поля: field_a & field_b. Понятно, что названия полей и таблиц относительны :) Все понятно? Спасибо, получилось. Надеюсь найдется адекватный человек, который ответит на второй вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 14:55 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Проблему с созданием datawindow с источником хранимая процедура удалось решить, поставив галочку Manual Result Set и выбрав переменные вручную. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 15:19 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
MB_SQL_CM, В принципе, Вы сами себе проблему создали. Если бы в ХП был бы только один резалт-сет (ну селект), то такого бы не прошло и все бы заработало автоматом. В противном случае, ДВ требуется указать КАКОЙ из резалт-сетов использовать. В общем случае - это гибкость и удобство, но для Вас стала непреодолимая проблема :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 16:55 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
andy753MB_SQL_CM, В принципе, Вы сами себе проблему создали. Если бы в ХП был бы только один резалт-сет (ну селект), то такого бы не прошло и все бы заработало автоматом. В противном случае, ДВ требуется указать КАКОЙ из резалт-сетов использовать. В общем случае - это гибкость и удобство, но для Вас стала непреодолимая проблема :) Он и был один. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2009, 17:03 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
MB_SQL_CM, Процедуру в студию... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2009, 08:16 |
|
Проблемы с DataWindow
|
|||
---|---|---|---|
#18+
Зачем текст процедуры? Это же MS SQL, соответственно номер показывает какая именно из группы процедура выполняется и какой резалтсет возвращается, если процедура одна, то хоть ставь единицу, хоть убирай - разницы никакой ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2009, 09:44 |
|
|
start [/forum/topic.php?fid=15&fpage=32&tid=1336209]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 142ms |
0 / 0 |