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

Вниз

Как совместить 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.017 c
3-1952
Stas
2004-01-09 14:12
2004.02.02
MDAC и WIN98


3-1961
Чайник1
2004-01-09 15:24
2004.02.02
Ошибка в запросе для поля типа даты.


1-2061
Oyster
2004-01-18 10:04
2004.02.02
Глюки с русскими буквами в консольном приложении


1-2230
LordAlex
2004-01-20 14:16
2004.02.02
Время выполнения...


14-2366
ИМХО
2004-01-01 12:21
2004.02.02
USA: как живешь, Америка?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский