|
|
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Нужно сохранить информацию из DataStore в базе. Но почему то ничего не получается. Так главное - никакой ошибки PB не выдаёт. В файл сохраняет аж бегом, но мне в файл не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:03 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Исользуйте методы RowsCopy() - например для копирования в видимую datawindow из DataStore, а потом попробуйте dw.Update() на базу, так точно отловите ошибку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:14 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Можно создать новый объект как Standart Class -> DataStore. В этом новом объекте закодировать события, отвечающие за обработку ошибок. Ну и использовать не стандартный DataStore а новый объект. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:26 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Сохранение из DataStore Кстати, а как точно работает RowsCopy? Пробовал. Получается копировать данные только в окно с таким же набором столбцов. Или я опять что-то не так делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:31 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Да формат при копировании должен быть одинаков! 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!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:35 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Попробовал такой вариант: собираю нужные данные в DataStore, сохраняю в файл, чтоб проверить, что в DataStore они таки есть - всё OK, в файле данные появляются. Затем сразу делаю Update для DataStore - возвращает 1, типа всё прошло нормально. Но в базе я изменений так и не увидел - просто пустая таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:41 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Тут несколько вариантов приходит на голову! Я так понимаю вам нужно побыстрее, тада следующее! Пробуем от простоты до сложности 1) Поставьте "commit" после копирования! Проверьте datastore.RowCount() - на всякий пожарный, + просмотрите формат таблицы, он наверное не совпадает с форматом полей datastore. 2) Копируйте данные напрямую из datastore в темповую табличку через insert into #temp1 values(:d_s.Column1.Object.primary ,...) - хотя некрасиво конечно 3) У меня были некоторые проблемы когда вставлял в таблицу с полями "autoincrement" значения. Чудес не бывает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 16:54 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Уважаемый SkyLigth. Проверьте статусы записей в своем DS (ds..GetItemStatus (...) ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 17:27 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
2 boogiman А что за неполадка была с autoincrement? Я вот сейчас пытаюсь сохранить изменения в таблице с таким полем и ничего не получается. Правда в этом случае результат Update() как и положено <>1, т.е ошибка есть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 18:29 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
2 boogiman попробовал INSERT INTO... Хоть и через Ж, но это РАБОТАЕТ! Огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 19:18 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
кста.... может в Update Properties датавинды заглянуть.... мож там че забыл поставить или добавить DataStore обычно еще ошибки на экран не выдает.... можно ту датавинду в контрол засунуть и попробывать.... та то точно даст ошибку и почитаешь тогда :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 20:18 |
|
||
|
Сохранение из DataStore
|
|||
|---|---|---|---|
|
#18+
Добрый день,SkyLight! Всегда готов помочь! Тем более, что я так понимаю вы из начинающих (у самого опыта работы с Powerom 6 месяцев). А с autoincrement была проблема в том, что при dw.update, записи в таблице не изменялись, а добавлялись в конец (это понятно из самого свойства поля - autoincrement). А первоначально вообще пытался в это поле вручную значения вносить, глупил конечно! Ещё раз удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.09.2005, 09:22 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=33257143&tid=1338152]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 457ms |

| 0 / 0 |
