Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по 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 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.035 c
14-1104714149
Xenon
2005-01-03 04:02
2005.01.23
Ну зацените плиз


1-1104783753
zt50
2005-01-03 23:22
2005.01.23
Псевдо проводник.


1-1104995714
Stanislav
2005-01-06 10:15
2005.01.23
Форма из DLL


3-1101745245
skovorodka
2004-11-29 19:20
2005.01.23
host, логин, пароль


4-1101999562
Priest
2004-12-02 17:59
2005.01.23
Остановка дочернего потока





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский