powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сохранение из DataStore
12 сообщений из 12, страница 1 из 1
Сохранение из DataStore
    #33256833
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно сохранить информацию из DataStore в базе. Но почему то ничего не получается. Так главное - никакой ошибки PB не выдаёт. В файл сохраняет аж бегом, но мне в файл не надо.
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33256869
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исользуйте методы RowsCopy() - например для копирования в видимую datawindow из DataStore, а потом попробуйте dw.Update() на базу, так точно отловите ошибку!
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33256903
radius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно создать новый объект как Standart Class -> DataStore.
В этом новом объекте закодировать события, отвечающие за обработку ошибок. Ну и использовать не стандартный DataStore а новый объект.
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33256919
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сохранение из DataStore
Кстати, а как точно работает RowsCopy? Пробовал. Получается копировать данные только в окно с таким же набором столбцов. Или я опять что-то не так делаю?
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33256937
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да формат при копировании должен быть одинаков!


string error_syntaxfromSQL, error_create, str
int i,j
string new_sql, new_syntax
// Описание DataStore
datastore my_store
// dw_new - это единственный контрол
dw_new.Reset()
// Создаём DataStore
my_store=Create datastore
// Запрос SQL
new_sql = 'SELECT * from j_oper where Num_doc=1 and Num_doc <5 and Date_Od >= 20050312'
// Полный синтаксис
new_syntax = SQLCA.SyntaxFromSQL(new_sql, /*"" - по умолчанию*/'Style(Type=Grid)',error_syntaxfromSQL)

IF Len(error_syntaxfromSQL) > 0 THEN
// Выдается ошибка
st_1.Text = error_syntaxfromSQL

ELSE
// Привязываем DataStore к запросу
my_store.Create(new_syntax, error_create)

// Привязываем контрол к данным
dw_new.Create(new_syntax)

IF Len(error_create) > 0 THEN
st_2.Text = error_create
END IF

END IF
// Вытаскиваем данные в DataStore
my_store.SetTransObject (SQLCA)
my_store.Retrieve()
// Копируем данные из DataStore в Control
my_store.RowsCopy(1,my_store.RowCount(), Primary!, dw_new,1,Primary!)
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33256966
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовал такой вариант: собираю нужные данные в DataStore, сохраняю в файл, чтоб проверить, что в DataStore они таки есть - всё OK, в файле данные появляются. Затем сразу делаю Update для DataStore - возвращает 1, типа всё прошло нормально. Но в базе я изменений так и не увидел - просто пустая таблица.
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257025
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут несколько вариантов приходит на голову! Я так понимаю вам нужно побыстрее, тада следующее! Пробуем от простоты до сложности

1) Поставьте "commit" после копирования! Проверьте datastore.RowCount() - на всякий пожарный, + просмотрите формат таблицы, он наверное не совпадает с форматом полей datastore.
2) Копируйте данные напрямую из datastore в темповую табличку через insert into #temp1 values(:d_s.Column1.Object.primary ,...) - хотя некрасиво конечно
3) У меня были некоторые проблемы когда вставлял в таблицу с полями "autoincrement" значения.

Чудес не бывает!
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257143
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый SkyLigth.
Проверьте статусы записей в своем DS (ds..GetItemStatus (...) ).
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257301
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 boogiman

А что за неполадка была с autoincrement? Я вот сейчас пытаюсь сохранить изменения в таблице с таким полем и ничего не получается. Правда в этом случае результат Update() как и положено <>1, т.е ошибка есть...
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257372
Фотография SkyLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 boogiman

попробовал INSERT INTO... Хоть и через Ж, но это РАБОТАЕТ!

Огромное спасибо!
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257421
Фотография Ivan195
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кста.... может в Update Properties датавинды заглянуть.... мож там че забыл поставить или добавить

DataStore обычно еще ошибки на экран не выдает.... можно ту датавинду в контрол засунуть и попробывать.... та то точно даст ошибку и почитаешь тогда :)
...
Рейтинг: 0 / 0
Сохранение из DataStore
    #33257773
boogiman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день,SkyLight! Всегда готов помочь! Тем более, что я так понимаю вы из начинающих (у самого опыта работы с Powerom 6 месяцев). А с autoincrement была проблема в том, что при dw.update, записи в таблице не изменялись, а добавлялись в конец (это понятно из самого свойства поля - autoincrement). А первоначально вообще пытался в это поле вручную значения вносить, глупил конечно! Ещё раз удачи!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Сохранение из DataStore
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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