Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.02;
Скачать: CL | DM;

Вниз

Как совместить Insert и Update   Найти похожие ветки 

 
weRUs   (2004-01-09 11:52) [0]

Господа Мастаки помогите!

В гриде пользователь вводит данные (после нажатия кнопки Вставить) при этом если захочет изменить существующую запись, то всегда пожалуйста. Но тогда получается Insert и Update, а как это реализовать :=(((. Можно проверить конечно ID = :ID и тогда Ins или Update.

Но меня интересует более простой способ :-,)

Заранее спасибо...!


 
Vlad ©   (2004-01-09 12:00) [1]

Ничего не понял.
Если нужен Insert, то DataSet.Insert, если Update, то DataSet.Edit; В чем проблема то ?


 
Vemer ©   (2004-01-09 12:00) [2]

DBGrid - зеркало DataSet. А о нем ни слова (чем формируеться). Зачем кнопка Вставить, из DBGrid можно и так вставлять (или форма применяеться отдельная). В общем ясно, что ничего не ясно.


 
weRUs   (2004-01-09 12:09) [3]

Прошу прощения за головоломку. :)

Грид это DevExpr...

А суть в том, что используется кеширование и при этом сразу могут существовать и новая запись и модифицированная. И это все надо сразу сохранить в базу.


 
Vlad ©   (2004-01-09 12:12) [4]

Какими компонентами доступа к IB пользуешься ?


 
weRUs   (2004-01-09 12:16) [5]

Стандартные средства IBX


 
Vlad ©   (2004-01-09 12:20) [6]

Ну и в чем проблема. Берешь IBDataSet, подключаешь к нему грид.
У IBDataSet в свойствах SelectSQL, InsertSql,UpdateSQL, DeleteSQL прописываешь нужные запросы, и все изменения которые ты будешь делать в гриде автоматически будут заноситься в базу при вызове метода IBDataSet.Post


 
Nerv ©   (2004-01-09 12:21) [7]

ApplyUpdates?


 
Евген ©   (2004-01-09 12:26) [8]


> weRUs

Есть компонент IBDataSet. У него есть SelectSQL, InsertSQL, DeliteSQL, ModyfySQL и RefreshSQL. C их помощью формируется "Живой" запрс, т.е. то что тебе нужно. Это я не умничаю, а только что вычитал в книге "Мир InterBase", т.к. IB я сам только осваиваю. Попробуй почитать - довольно неплохо описано, только у самого тоже возникли вопросы (см. форум).


 
Vemer ©   (2004-01-09 12:31) [9]

Чтобы не мучаться с запросами в IBDataSet попробуй IBSQL+IBUpdateSQL. Не так современно, зато есть кнопка Generate SQL в IBUpdateSQL.


 
weRUs   (2004-01-09 12:41) [10]

Наверное ВЫ правы...

попробую.

Спасибо.


 
weRUs   (2004-01-09 12:43) [11]

"Мир InterBase" А кто автор?


 
Vlad ©   (2004-01-09 12:45) [12]


> weRUs (09.01.04 12:43) [11]

Востриков и Ковязин "Мир Interbase"
Кстати, умные люди советуют вместо IBQuery+IBUpdateSQL пользоваться одним IBDataSet


 
weRUs   (2004-01-09 12:49) [13]

>IBQuery+IBUpdateSQL пользоваться одним IBDataSet

Это интересно, попробую.


 
Vemer ©   (2004-01-09 12:50) [14]

Я согласен, что IBDataSet это круче, но для начинающего мой вариант проще. особенно при разработке, когда SQL менять приходиться иногда.


 
Vlad ©   (2004-01-09 12:55) [15]


> Vemer © (09.01.04 12:50) [14]

Вобще, в IBX эта возможность была оставлена для БДЕ-шников, т.е. чтобы переводить проекты с БДЕ под IBX было удобнее. Об этом вроде сами авторы IB говорили.
Плюс, насколько я помню, для такой связки необходим CachedUpdates в IBQuery. А это не всегда удобно.


 
Vemer ©   (2004-01-09 13:00) [16]

Насчет CachedUpdate ты не прав - это удобно - всегда можно сделать .CancelUpdate без лишних .RollBack + ApplyUpdates скидывает все разом. А насчет компонентов - каждый пользует то, что нравиться. Я IBX самотыком изучал, поэтому IBDataSet не освоил.


 
Vlad ©   (2004-01-09 13:04) [17]


> Vemer © (09.01.04 13:00) [16]

Я имею ввиду то, что не всегда разумно кэшировать данные.
Причем здесь CancelUpdates ? Он просто чистит кэш, с RollBack это никак не связано.



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

Текущий архив: 2004.02.02;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.028 c
14-2377
Knight
2004-01-09 15:44
2004.02.02
Кто встречал какую-нить книгу по основам работы на компе?


7-2380
ILYUSHKA
2003-11-16 18:18
2004.02.02
Открыть закрыть CD-ROM


14-2294
Intell
2004-01-12 16:34
2004.02.02
Меня запарил Explorer!


1-2098
Opryshok
2004-01-19 15:07
2004.02.02
Easy Parse HTML


7-2397
Dimaz-z
2003-11-15 15:17
2004.02.02
Как проверить у модема наличие сигнала