Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / присвоение полей в datastore / 9 сообщений из 9, страница 1 из 1
26.11.2012, 15:16
    #38053392
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
добрый день!
есть ПБ105 и Виста.
Есть 2 datastore - исходный и результат. результат - подмножество исходного, наименования полей - одни и те же.
хочу в цикле присваивать поля исходного в результирующий. хорошо бы - getitem(row, colname)/setitem(row,colname) но в datastore getitem не работает.
получается что находить № поля в исходном datastore по имени в результате можно только полным перебором имен полей до совпадения с именем результирующего? тогда можно будет использовать DATA[].
что то заработался и никак не соображу.
...
Рейтинг: 0 / 0
26.11.2012, 15:45
    #38053459
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
GetItem работает, только надо соответствующий тип указывать (GetItemString, etc.)
Чтобы работало через data - нужно соответствие порядка полей sql-запроса
Ну или как вариант - считайте список полей найдите нужное и присваивайте, если хотите можно с перехватом ошибки, т.е. просто присваиваете ничего не ища, а ошибку пропускаете
...
Рейтинг: 0 / 0
26.11.2012, 17:13
    #38053674
KOLCHOZ_POSTEVENT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
Так ведь есть RowsCopy на случай, если структуры одинаковые.
И не надо ничего расписывать.
...
Рейтинг: 0 / 0
26.11.2012, 17:25
    #38053696
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
Поправлю, если в sql-буфере порядок совпадает, но может и не сработать если таблицы разные, в этом плане присвоение по полю - верней:) И совсем необязательно использовать имена колонок, можно и через номера столбцов или data обратиться
...
Рейтинг: 0 / 0
26.11.2012, 18:00
    #38053758
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
я просто копирую строку. но не один в один а выборочно. это подпрограмма-и она не может опираться на фиксированные имена колонок. а только на параметры-такой параметр имя поля и getitem прекрасно подходит, но не работает. если использовать тип элемента - то это все равно что имя имя поля-типа getitemstring/number/decimal etc. если без типа чтобы использовать ДАТА то нужно знать номер колонки в одном датасторе а потом его искать в другом простым перебором-что некрасиво. если скажете что по другому нельзя-то так и буду... :-(
...
Рейтинг: 0 / 0
26.11.2012, 18:01
    #38053761
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
spas2001Поправлю, если в sql-буфере порядок совпадает, но может и не сработать если таблицы разные, в этом плане присвоение по полю - верней:) И совсем необязательно использовать имена колонок, можно и через номера столбцов или data обратиться
а откуда брать номера столбцов-вот в чем вопрос?
...
Рейтинг: 0 / 0
26.11.2012, 18:51
    #38053828
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
Лучше с типом:)
Describe вам в помощь
...
Рейтинг: 0 / 0
26.11.2012, 19:05
    #38053842
sboyko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
spas2001,так и сделал-но думаю-может умные люди что подскажут!!!!
...
Рейтинг: 0 / 0
26.12.2012, 14:51
    #38093511
KOLCHOZ_POSTEVENT
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
присвоение полей в datastore
Не видя экрана, кое-что можно понять неверно.
Но всё-таки...попытка не пытка.
Итак, желаемая вами Getitem работает на Data Window, но не работает на Data Store, так сделайте вспомогательный невидимый Data Window, и работайте с ним.
Чтобы никто не догадался, можно воспользоваться OpenUserObject типа Data Window , загнать данные в него, а потом закрыть CloseUserObject. Поднимете свой уровень на поляне Object Oriented.
Я бы , так и сделал.
Если у Data Window функция есть, а у Data Store нет, так надо подключать Data Window. Вот и всё.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / присвоение полей в datastore / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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