powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблемы с DataWindow
25 сообщений из 25, страница 1 из 1
Проблемы с DataWindow
    #36090424
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Использую среду разработки 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 по прежнему не создается из-за этой ошибки.

Скажите, что с этим делать? Может быть есть какой-то способ отключить графический редактор и все ручками набрать?
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090515
BoBaaaaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в графическом режиме -> Design -> Convert To Syntax
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090565
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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. Желательно на русском, но хотя бы и на английском.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090899
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 - первый резалтсет
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090938
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas20011 - первый резалтсет
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца

В смысле результат выполнения первого Selectа в хранимой процедуре?
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090960
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас какая БД?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36090969
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
CREATE PROCEDURE
Creates a stored procedure, which is a saved collection of Transact-SQL statements that can take and return user-supplied parameters.

Procedures can be created for permanent use or for temporary use within a session (local temporary procedure) or for temporary use within all sessions (global temporary procedure).

Stored procedures can also be created to run automatically when Microsoft® SQL Server™ starts.

Syntax
CREATE PROC [ EDURE ] procedure_name [ ; number ] 
    [ { @parameter data_type } 
        [ VARYING ] [ = default ] [ OUTPUT ] 
    ] [ ,...n ] 

[ WITH 
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ] 

[ FOR REPLICATION ] 

AS sql_statement [ ...n ] 

Arguments
procedure_name

Is the name of the new stored procedure. Procedure names must conform to the rules for identifiers and must be unique within the database and its owner. For more information, see Using Identifiers. 

Local or global temporary procedures can be created by preceding the procedure_name with a single number sign (#procedure_name) for local temporary procedures and a double number sign (##procedure_name) for global temporary procedures. The complete name, including # or ##, cannot exceed  128  characters. Specifying the procedure owner name is optional.

;number

Is an optional integer used to group procedures of the same name so they can be dropped together with a single DROP PROCEDURE statement. For example, the procedures used with an application called orders may be named orderproc; 1 , orderproc; 2 , and so on. The statement DROP PROCEDURE orderproc drops the entire group. If the name contains delimited identifiers, the number should not be included as part of the identifier; use the appropriate delimiter around procedure_name only.


-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36091196
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001У вас какая БД?
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца

Э, не понял к чему, но MS SQL SERVER 2005. И почему заголовок от другой темы
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36091333
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда читайте выше
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36091484
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрю с набором SQL через синтаксис тут проблема (да и с билдером тоже), что можно посоветовать. Поля с разными названиями просто набирайте как и набирали. А с совпадающими именами предлагаю просто вписать Computed Filed типа field_a = table_a.field или table_a.field as field_a.

Либо как тут советовали тут правильные люди - написать запрос ручками или полуручками и его подправить добавив алиасы полей на полях с одинаковыми названиями.

Все понятно или требуется разжевать?
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36091552
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andy753Смотрю с набором SQL через синтаксис тут проблема (да и с билдером тоже), что можно посоветовать. Поля с разными названиями просто набирайте как и набирали. А с совпадающими именами предлагаю просто вписать Computed Filed типа field_a = table_a.field или table_a.field as field_a.

Либо как тут советовали тут правильные люди - написать запрос ручками или полуручками и его подправить добавив алиасы полей на полях с одинаковыми названиями.

Все понятно или требуется разжевать?

Пока что ничего не понятно. В каком месте Cumputed Filed это прописывать?
К чему описание Create procedure тоже не ясно.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36091741
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сами же спрашивали
MB_SQL_CMЕще вопрос, у написанных ранее DataWindow встретился с таким кодом в SQL->Edit Execute
execute dbo.select_d_ist;1 @id = :id
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36092809
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели никто не знает? Ни одного внятного ответа. Очень странно.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36092985
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MB_SQL_CMНеужели никто не знает? Ни одного внятного ответа. Очень странно.
А если посмотреть на это с другой стороны, то уровень задающего вопросы не достаточен, чтобы воспринять ответы ему данные.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093276
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To Локшин Марк
+1
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093485
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В этой ветке все отвечают почему-то свысока. Сколько было постов, ни одного ответа. Снисходительное "разжевать", "не тот уровень". Можете пытаться уверить кого-то другого в своем великом уме. Никаких особых солжностей в PB нет, среда, где кривая графическая оболочка мешает как может. Здесь всего лишь присутствует баг программы, а вы не знаете что ответить. Если не знаете в чем дело, лучше бы промолчали, чем давать бессмысленные язвительные замечания. Неприятные люди, вам надо что-то делать со своим чувством собственной важности.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093497
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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.

Понятно, что названия полей и таблиц относительны :) Все понятно?
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093579
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
To MB_SQL_CM
Вместо того чтобы наезжать, лучше включите свой мозг
RTFM
Вы спрашивали про непонятную цифру - я вам ответил, даже кусок документации привел
Но если у вас не хватает знаний об элементарном SQL выражении, могли бы помолчать
Если человек ничего не знает про алиасы и самообъединение талиц...
В общем, делайте выводы
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093641
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.

Понятно, что названия полей и таблиц относительны :) Все понятно?

Спасибо, получилось.
Надеюсь найдется адекватный человек, который ответит на второй вопрос.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36093727
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблему с созданием datawindow с источником хранимая процедура удалось решить, поставив галочку Manual Result Set и выбрав переменные вручную.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36094014
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MB_SQL_CM,

В принципе, Вы сами себе проблему создали. Если бы в ХП был бы только один резалт-сет (ну селект), то такого бы не прошло и все бы заработало автоматом.

В противном случае, ДВ требуется указать КАКОЙ из резалт-сетов использовать. В общем случае - это гибкость и удобство, но для Вас стала непреодолимая проблема :)
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36094042
MB_SQL_CM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andy753MB_SQL_CM,

В принципе, Вы сами себе проблему создали. Если бы в ХП был бы только один резалт-сет (ну селект), то такого бы не прошло и все бы заработало автоматом.

В противном случае, ДВ требуется указать КАКОЙ из резалт-сетов использовать. В общем случае - это гибкость и удобство, но для Вас стала непреодолимая проблема :)

Он и был один.
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36094690
andy753
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MB_SQL_CM,

Процедуру в студию...
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36094805
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем текст процедуры?
Это же MS SQL, соответственно номер показывает какая именно из группы процедура выполняется и какой резалтсет возвращается, если процедура одна, то хоть ставь единицу, хоть убирай - разницы никакой
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Проблемы с DataWindow
    #36094807
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно выше я так и писал
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблемы с DataWindow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]