powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / ReselectRow
25 сообщений из 31, страница 1 из 2
ReselectRow
    #33163439
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть DW, построенное на view и обновляемое с помощью SP. После вставки новой записи необходимо заполнить поля DW, автоматически созданные этой SP: дата создания, кто создал и т.д. Естественное желание сделать это с помощью ReselectRow, при выполнении которого PB благополучно падает... Это как-то связано с идентификацией строки, которую не понятно, как делать?

PB 10.0 build 4500
...
Рейтинг: 0 / 0
ReselectRow
    #33163468
Фотография ЗоринАндрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReselectRow делается на основе Update Properties.
Нет Update properties - нет ReselectRow.
Никто не мешает иметь и Insert/Update/Delete SP и Update properties одновременно.
...
Рейтинг: 0 / 0
ReselectRow
    #33163524
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте параметры процедуры out или in/out.
...
Рейтинг: 0 / 0
ReselectRow
    #33163531
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ReselectRow
    #33163608
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЗоринАндрейReselectRow делается на основе Update Properties.
Нет Update properties - нет ReselectRow.
Никто не мешает иметь и Insert/Update/Delete SP и Update properties одновременно.
PB падать перестал, но и работать не начал - поля из базы в DW не вытягиваются
...
Рейтинг: 0 / 0
ReselectRow
    #33163632
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
urvasИспользуйте параметры процедуры out или in/out.
Так и делал (делаю) - раньше получал крах PB, сейчас, после дополнительной установки UpdateProperties, - просто неработоспособность ReselectRow.
...
Рейтинг: 0 / 0
ReselectRow
    #33163938
JustVas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry, виноват - Reselect'ил строчку из child DW - с мастером все ок.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ReselectRow
    #37175821
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
После перехода с MSS на OLE DB перестал работать ReselectRow().
В чем может быть дело?
...
Рейтинг: 0 / 0
ReselectRow
    #37175919
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thetheПосле перехода с MSS на OLE DB перестал работать ReselectRow().
В чем может быть дело?
Что видно в профайлере?
...
Рейтинг: 0 / 0
ReselectRow
    #37181702
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В профайлере update проходит из модального окна, а в гриде строка не reselectится...
Когда через MSS было все ок.

Еще заметил, кстати, что в одном окне раньше, при подключении через mss, в поле с идентификатором identity после update появлялся идентификатор, а с ole db не появляется, хотя update проходит...
В свойствах dw ничего не менял...
?

Можно, конечно пошаманить, но странно, все ж работало... обидно...
...
Рейтинг: 0 / 0
ReselectRow
    #37181814
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thethe,

Что отображается в профайлере - так и не увидел. А возврат автоинкриментного значения через OLE DB работает.
...
Рейтинг: 0 / 0
ReselectRow
    #37182718
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркА возврат автоинкриментного значения через OLE DB работает.

Если не ошибаюсь работает, если в свойствах DW выбрано поле в identity column?
Вот так работало с mss.

У вас в коннектстринг есть какие-то параметры кроме PROVIDER='SQLOLEDB', сервера, БД ?
...
Рейтинг: 0 / 0
ReselectRow
    #37183078
Oleg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RTFM oledb & pbodb*.ini.
...
Рейтинг: 0 / 0
ReselectRow
    #37183098
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg1,

Не работает только то, о чем писал выше - "возврат автоинкриментного значения".

В FM oledb & pbodb*.ini про это написано?
...
Рейтинг: 0 / 0
ReselectRow
    #37183557
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thethe, PROVIDER='SQLOLEDB',DATASOURCE='server2003',PROVIDERSTRING='database=test',CommitOnDisconnect='No'
...
Рейтинг: 0 / 0
ReselectRow
    #37185510
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Марк, спасибо, все тоже самое, да я и в других темах видел ваши примеры.
Просто больше в программе ничего не менял, только подключение.

Загадка только в том, почему reselect и "возврат автоинкремента" при подкл. по mss работает, а по oledb нет. Уже пробовал пересоздавать поле...
...
Рейтинг: 0 / 0
ReselectRow
    #37185692
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thetheМарк, спасибо, все тоже самое, да я и в других темах видел ваши примеры.
Просто больше в программе ничего не менял, только подключение.

Загадка только в том, почему reselect и "возврат автоинкремента" при подкл. по mss работает, а по oledb нет. Уже пробовал пересоздавать поле...
Вы так и не ответили на вопрос - что видно при сохранении в профайлере SQL Server'а.
...
Рейтинг: 0 / 0
ReselectRow
    #37186443
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк,

При подключении по mss:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
begin tran

INSERT INTO sos_dictkzu ( countrycode, city, kzunameb, kzunamee, coderus, codelat ) 
VALUES ( 'AUS', 'gdfgg', 'fgdfgg', 'dfgdg', 'fff', 'fgf' )

select MAX(IDENTITYCOL) from sos_dictkzu 

commit tran

При подключении по oledb:

Код: plaintext
1.
2.
3.
INSERT INTO sos_dictkzu ( countrycode, city, kzunameb, kzunamee, coderus, codelat )
 VALUES ( 'AUS', 'trtrt', 'rtet', 'rtert', 'rtr', 'rtr' )

IF @@TRANCOUNT >  0  COMMIT TRAN
...
Рейтинг: 0 / 0
ReselectRow
    #37187842
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это при вставке новой стоки.
После update() приходится вручную обновлять строку, т.к. id не возвращает в dw.

При update() существующей строки с последующим reselectrow еще интереснее...

Под mss

Код: plaintext
1.
2.
3.
4.
UPDATE SOS_ApRequests SET FamilyName = 'КОВАЛЕНК', ModifyUser_ID =  16  WHERE Request_ID =  14  
commit tran
begin tran
SELECT все поля FROM SOS_ApRequests WHERE Request_ID =  14 
commit tran

Под OLEDB

Код: plaintext
1.
2.
UPDATE SOS_ApRequests SET FamilyName = 'КОВАЛЕНК', ModifyUser_ID =  16  WHERE Request_ID =  14  
IF @@TRANCOUNT >  0  COMMIT TRAN
SELECT , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,  FROM  WHERE  =  14 

Особенно меня убил вот этот селект с , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,. Это попытка видимо сделать reselectrow.
Его просто нет...

Потом еще у меня был параметр AppName='Имя программы' в DBParm, теперь и это имя не показывает...
Не думал, что при переходе на OLEDB столько вылезет.
...
Рейтинг: 0 / 0
ReselectRow
    #37187994
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oleg1RTFM oledb & pbodb*.ini.

Еще один человек мне сказал, что не хватает раздела в pbodb*.ini об OLEBD
Где бы посмотреть как он должен выглядеть...
...
Рейтинг: 0 / 0
ReselectRow
    #37188958
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thethe,

PB HelpWhat is the PBODB90 initialization file?
When you access data through the ODBC interface, PowerBuilder uses the PBODB90 initialization file to maintain access to extended functionality in the back-end DBMS for which ODBC does not provide an API call. Examples of extended functionality are SQL syntax or function calls specific to a particular DBMS.
Так что это не про то.
...
Рейтинг: 0 / 0
ReselectRow
    #37189637
thethe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк,

Приложение давнишнее на PB 701 отлаженное под mss дружило с 2000 и 2005м.
С конца прошлого года стали ставить sql2008, в некоторых случаях winserv стал выдавать критическую ошибку в NTWDBLIB.DLL (я ее из дистрибутива прил-я записывал), причем на одном сервере выдает, на другом не выдает (ставят в разных филиалах). Через pbole70.dll нормально подключается, но вылезло несколько проблем.

Может есть более свежий pbole70.dll ?
Может это глюк седьмого?

Перенес объекты в РВ11.1, заработал и возврат автоинкремента и reselect...
Но полная миграция в 11.1 в мои планы не входила :(
...
Рейтинг: 0 / 0
ReselectRow
    #37190245
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
thethe,

Скорее всего глюк 7-ки. Но 7.01 - насколько я помню далеко не последняя версия... Возможно нужно поискать поновее версию 7-ки.
...
Рейтинг: 0 / 0
ReselectRow
    #37190259
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только не нужно менять отдельную dll, нужно ставить именно новую версию 7-ки со всеми библиотеками, иначе работать нормально не будет (и на новой версии проверить нужно будет все, т.к. Sybase известный багодел ).
...
Рейтинг: 0 / 0
ReselectRow
    #37191806
Oleg1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Маркthethe,
Так что это не про то.Дока по билдеру местами забавная, и ответ не всегда находится в ожидаемом месте. :) Хотя, в доке по 12 уже прямым текстом написано, что для оледб означенный инишник нужен. И это вполне логично, кстати.
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / ReselectRow
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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