powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вот такое дело
7 сообщений из 7, страница 1 из 1
Вот такое дело
    #35374438
quorus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Юзаю PB5 есть датавинда в ней SQL код
select
p.Id,
p.Kod_organ,
o.N_organ,
o.Name_organ,
p.Kod_v_work,
p.Kind,
p.Kod_ed_izm,
p.Beg_period,
p.End_period,
p.Kod_vida_kontr_buy,
p.Id_type
from Sc_partner p
left outer join Organization o
on p.Kod_organ = o.Kod_organ
в UPDATE Properties обновляет и инсертит в таблицу Sc_partner но там есть и Name_organ который тоже нужно добавлять и обновлять но ведь в UPDATE Properties работает только с одной таблицей, как быть?
...
Рейтинг: 0 / 0
Вот такое дело
    #35374553
стакан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мозг включить :)
или триггер навесь или изменения делай в хранимой процедуре ;)
...
Рейтинг: 0 / 0
Вот такое дело
    #35374557
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Писать Update вручную (на embeded sql).
2. Писать Update с использолванием хранимой процедуры (в PB5 возможно тоже только с использованием вызова из embeded sql).
3. Динамически менять таблицу которую нужно update'ить и поля при помощи Modify.

Где-то так.
...
Рейтинг: 0 / 0
Вот такое дело
    #35375992
quorus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь нет хранимых процедур, а триггер куда навешать на стенку если только, вот второй вариант попробуй спасибо
...
Рейтинг: 0 / 0
Вот такое дело
    #35376145
стакан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quorusЗдесь нет хранимых процедур, а триггер куда навешать на стенку если только, вот второй вариант попробуй спасибо
телепатов как понимаешь здесь нет ;) и соответсвенно какая у тебя субд, ну сам понимаешь ;)
Марк тебе предложил еще варианты, это по поводу мозга ;)
за сим откланиваюсь :)
...
Рейтинг: 0 / 0
Вот такое дело
    #35377882
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quorus...
в UPDATE Properties обновляет и инсертит в таблицу Sc_partner но там есть и Name_organ который тоже нужно добавлять и обновлять но ведь в UPDATE Properties работает только с одной таблицей, как быть?

Локшин Марк1. Писать Update вручную (на embeded sql).
2. Писать Update с использолванием хранимой процедуры (в PB5 возможно тоже только с использованием вызова из embeded sql).2.1. Перехватывать событие sqlpreview и в нем вызывать хранимую процедуру (в том числе допускается и RPC-вызов) или набор отдельных DML-операторов
PowerBuilder Help SQLPreview event (DataWindows)

Description

Occurs immediately before a SQL statement is submitted to the DBMS. Functions that trigger DBMS activity are Retrieve, Update, and ReselectRow.
PowerBuilder event information
Event ID: pbm_dwnsql

Код: plaintext
1.
2.
3.
4.
5.
 Argument	Description 
 request 	SQLPreviewFunction by value. The function that initiated the database activityFor a list of valid values, see SQLPreviewFunction
 sqltype 	SQLPreviewType by value. The type of SQL statement being sent to the DBMSFor a list of valid values, see SQLPreviewType	
 sqlsyntax 	String by value. The full text of the SQL statement
 buffer 	DWBuffer by value. The buffer containing the row involved in the database activity For a list of valid values, see DWBuffer
 row 	Long by value. The number of the row involved in the database activity, that is, the row being updated, selected, inserted, or deleted



Локшин Марк3. Динамически менять таблицу которую нужно update'ить и поля при помощи Modify.3.1.Использовать PFC-сервис multitable
PowerBuilder Help n_cst_dwsrv_multitable

Description
A collection of functions that facilitate update operations for DataWindows that contain rows from more than one table.
...
Рейтинг: 0 / 0
Вот такое дело
    #35383965
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне кажетса можно подцепить ешё одну датавинду, сделать sharedata(), и в одной делать update а в другой insert, если sharedata() не сработает (неохота проверять), используй rowscopy(), в любом случае мне кажетса две датавинды выигрышный вариант.
Но если хочеш только одну датавинду, то можно ещё поизврашатса и с помощью modify() менять названия таблиц и setitemstatus() делать в них insert или update
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вот такое дело
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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