Вниз
Скачать: CL | DM;

Вопрос по IBDataset   Найти похожие ветки 

← →
ksa2002   (2004-12-16 11:18) [0]

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


← →
Соловьев ©   (2004-12-16 11:25) [1]

CachedUpdates=true?


← →
ksa2002   (2004-12-16 11:27) [2]

по хелпу вроде оно ....проверим


← →
ksa2002   (2004-12-16 13:27) [3]

Ещё ворос по IBDataset.
Хочу чтобы обновление происходили с помщью ХП , но как её подставить в ModidfySQL ? (Пробывал через селект задать не вышло) .


← →
Соловьев ©   (2004-12-16 13:33) [4]

Пробывал через селект задать не вышло

И не выйдет, нужно exec procedure ... насколько я помню


← →
ksa2002   (2004-12-16 13:36) [5]

Но как это подставить в ModidfySQL?


← →
Zacho ©   (2004-12-16 13:41) [6]

EXECUTE PROCEDURE name [ param [, param …]]

Language Refrence читай.


← →
ksa2002   (2004-12-16 13:42) [7]

чёрт протупил :) .....усё понял ,щаз проверим!


← →
ksa2002   (2004-12-17 05:56) [8]

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

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

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


← →
Zacho ©   (2004-12-17 06:47) [9]

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

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


← →
ksa2002   (2004-12-17 06:55) [10]

не использую


← →
ksa2002   (2004-12-17 06:57) [11]

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


← →
Zacho ©   (2004-12-17 07:19) [12]

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

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

В BeforeInsert вызови Abort;


← →
ksa2002   (2004-12-17 08:16) [13]

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

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

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


← →
Zacho ©   (2004-12-17 08:31) [14]

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

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

Commit делаешь ?


← →
ksa2002   (2004-12-17 08:33) [15]

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


← →
ЮЮ ©   (2004-12-17 08:34) [16]

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


← →
ksa2002   (2004-12-17 08:38) [17]

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


← →
ЮЮ ©   (2004-12-17 08:42) [18]

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


← →
ksa2002   (2004-12-17 08:43) [19]

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


← →
ЮЮ ©   (2004-12-17 08:46) [20]

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


← →
ЮЮ ©   (2004-12-17 08:49) [21]

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


← →
ksa2002   (2004-12-17 08:49) [22]

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


← →
ЮЮ ©   (2004-12-17 08:57) [23]

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

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


← →
ksa2002   (2004-12-17 09:11) [24]

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


← →
ksa2002   (2004-12-17 09:27) [25]

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


← →
Zacho ©   (2004-12-21 11:27) [26]

ksa2002   (17.12.04 9:27) [25]

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


← →
msguns ©   (2004-12-21 11:54) [27]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.5 MB
Время: 0.029 c
10-1081321930
com.dll
2004-04-07 11:12
2005.01.23
Отладка com-сервера


1-1105437597
ssla
2005-01-11 12:59
2005.01.23
Взаимосвязь fsMDIForm - fsMDIChild


4-1102049336
dr Tr0jan
2004-12-03 07:48
2005.01.23
Недокументированные виды хуков: WH_HARDWARE


14-1105099925
xman
2005-01-07 15:12
2005.01.23
Connect to Counter-Strike


1-1104994334
Zhekson
2005-01-06 09:52
2005.01.23
Типизированный StringList




   Наверх