Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по IBDataset [D6, IB6.x]


Страницы:   1 2

ksa2002 ©   (2004-12-16 11:18:00) 

Есть несколько записей  который правяться в DBGrid ручками .
Можно ли сделать так, чтобы все изменения заносились в кэш Dataser а у ж потом вызвав метод ApplayUpdate они записывались в базу ?(По умолчанию в кыше храниться только последния редактируемая запись)


msguns   (2004-12-21 11:54:00) [1]

У него SNAPSHOT в транзакции скорее всего.. И запрос не переоткрывается после апдейта.


Zacho   (2004-12-21 11:27:00) [2]

ksa2002   (17.12.04 9:27) [25]

Зря. Действительно зря. Лучше бы разобрался, почему у тебя не работает. У меня (и не только у меня) - работает, могу привести пример.


ksa2002   (2004-12-17 09:27:00) [3]

Ну нафиг всё это . Сделал через Query и StoredProc


ksa2002   (2004-12-17 09:11:00) [4]

Вручню это как ? Через консоль процедура выполняеться


ЮЮ   (2004-12-17 08:57:00) [5]

> в гридесответсвующие поля ( :A_MAIN,:TABLE1,:KOL,:PARAM_KOL)

>но изменения всеравно не происходят
попробуй выполнить ModidfySQL "вручную". Ну не может же процедура не выполниться, не огрызнувшись. Или может процедура так и задумана? :)


ksa2002   (2004-12-17 08:49:00) [6]

какая разница ? пользователь не может его поменять как и увидеть


ЮЮ   (2004-12-17 08:49:00) [7]

В том смысле, что исправив его в гриде, на самом деле вызовешь процедуру фактически для другой строки :)


ЮЮ   (2004-12-17 08:46:00) [8]

Тогда почему оно в гриде?


ksa2002   (2004-12-17 08:43:00) [9]

да ..первое значение это ключевое поле


ЮЮ   (2004-12-17 08:42:00) [10]

Это ты меня спрашиваешь? Я же не знаю, что у тебя за поля да таблицы? Я просто спрашиваю про логику твоей процедуры: "Она действительно зная только новые значения параметров может адекватно исправить необходимые таблмцы?"


ksa2002   (2004-12-17 08:38:00) [11]

тогда как связать его с ключевым полем ?


ЮЮ   (2004-12-17 08:34:00) [12]

А как, интересно, процедура может найти запись, которую изменили, по новым значениям полей? Где ключевое поле?


ksa2002   (2004-12-17 08:33:00) [13]

автоматом в тразакциях стоят , всё в dataset работает кроме того
случаю когда подставляю ХП в модификацию


Zacho   (2004-12-17 08:31:00) [14]

Ну не знаю. У меня всё работает. Попробуй поставить последний апдейт IBX.

> вот если подставляю вместо переменых занчения то
> ошибки нет , но изменения всеравно не происходят

Commit делаешь ?


ksa2002   (2004-12-17 08:16:00) [15]

в ModifySQL  написано
EXECUTE PROCEDURE VOZVRAT_NAKLAD (:A_MAIN ,:TABLE1,:KOL,:PARAM_KOL)

в гриде сответсвующие поля (:A_MAIN ,:TABLE1,:KOL,:PARAM_KOL)

вот если подставляю вместо переменых занчения то ошибки нет , но изменения всеравно не происходят


Zacho   (2004-12-17 07:19:00) [16]

Насчёт CachedUpdates я наврал. В TIBDataSet всё должно быть нормально, хоть с CachedUpdates, хоть без. Это в TIBQuery не получиться использовать ХП.
Так что показывай код, всё должно работать.

> и ещё вопрос как забокировать возможность вставки
>новой записи в
> Dataset ?

В BeforeInsert вызови Abort;


ksa2002   (2004-12-17 06:57:00) [17]

и ещё вопрос как забокировать возможность вставки новой записи в
Dataset ? (чтоб вообще не была доступна это возможность для пользователя)


ksa2002   (2004-12-17 06:55:00) [18]

не использую


Zacho   (2004-12-17 06:47:00) [19]

CachedUpdates используешь ?

Если да, то отключи.


ksa2002   (2004-12-17 05:56:00) [20]

Подставил в ModifySQL вот такую вещь

EXECUTE PROCEDURE VOZVRAT_NAKLAD (:A_MAIN ,:TABLE1,:KOL,:PARAM_KOL)

как только вношу изменения и перемещаюсь на следующую строчку (т.е. данные скидываються в буфер) выскакивает ошибка
Empty SQL Statement.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо