Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вот такое дело / 7 сообщений из 7, страница 1 из 1
16.06.2008, 13:41
    #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
16.06.2008, 14:19
    #35374553
стакан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вот такое дело
мозг включить :)
или триггер навесь или изменения делай в хранимой процедуре ;)
...
Рейтинг: 0 / 0
16.06.2008, 14:21
    #35374557
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вот такое дело
1. Писать Update вручную (на embeded sql).
2. Писать Update с использолванием хранимой процедуры (в PB5 возможно тоже только с использованием вызова из embeded sql).
3. Динамически менять таблицу которую нужно update'ить и поля при помощи Modify.

Где-то так.
...
Рейтинг: 0 / 0
17.06.2008, 08:17
    #35375992
quorus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вот такое дело
Здесь нет хранимых процедур, а триггер куда навешать на стенку если только, вот второй вариант попробуй спасибо
...
Рейтинг: 0 / 0
17.06.2008, 10:12
    #35376145
стакан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вот такое дело
quorusЗдесь нет хранимых процедур, а триггер куда навешать на стенку если только, вот второй вариант попробуй спасибо
телепатов как понимаешь здесь нет ;) и соответсвенно какая у тебя субд, ну сам понимаешь ;)
Марк тебе предложил еще варианты, это по поводу мозга ;)
за сим откланиваюсь :)
...
Рейтинг: 0 / 0
17.06.2008, 16:56
    #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
19.06.2008, 23:14
    #35383965
voronk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вот такое дело
мне кажетса можно подцепить ешё одну датавинду, сделать sharedata(), и в одной делать update а в другой insert, если sharedata() не сработает (неохота проверять), используй rowscopy(), в любом случае мне кажетса две датавинды выигрышный вариант.
Но если хочеш только одну датавинду, то можно ещё поизврашатса и с помощью modify() менять названия таблиц и setitemstatus() делать в них insert или update
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вот такое дело / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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