Текущий архив: 2007.03.04;
Скачать: CL | DM;
Вниз
IBTranzaction Найти похожие ветки
← →
sergeyst © (2007-02-08 14:14) [0]Пишут, что для разных запросов, нужны отдельные IBTranzaction. А как подключить к одному IBDataBase несколько IBTranzaction? Свойство-то одно.
← →
Sergey13 © (2007-02-08 14:30) [1]Какое свойство? DefaultTransaction? Так это транзакция по умолчанию, если ты не задал в программе другое.
У каждого датасета/кверика можно указать свою транзакцию.
> Пишут, что для разных запросов, нужны отдельные IBTranzaction.
Не нужны, а возможны. Я бы советовал использовать одну - меньше путанницы в неопытной голове.
← →
Johnmen © (2007-02-08 14:34) [2]
> Пишут, что для разных запросов, нужны отдельные IBTranzaction.
Это ты не так понял.
Компонент один, а транзакций много. Но последовательно :)))
← →
sergeyst © (2007-02-08 14:42) [3]
> Компонент один, а транзакций много. Но последовательно :
> )))
Т.е. для каждой новой (чтение, вставка, удаление, изм) транзакции мне надо менять параметры транзакции? А что будет с открытыми запросами?
← →
sergeyst © (2007-02-08 14:44) [4]
> Sergey13 © (08.02.07 14:30) [1]
Мне надо, как минимум две. Как это сделать?
← →
Sergey13 © (2007-02-08 14:48) [5]> [4] sergeyst © (08.02.07 14:44)
А объясни сначала зачем? 8-)
← →
Johnmen © (2007-02-08 14:56) [6]
> Т.е. для каждой новой (чтение, вставка, удаление, изм) транзакции
> мне надо менять параметры транзакции?
Нет, конечно!
> А что будет с открытыми запросами?
А ты тр-ию подтверждай/откатывай методом CommitRetaining/RollbackRetaining
← →
sergeyst © (2007-02-08 15:07) [7]Sergey13 © (08.02.07 14:48) [5]
IBQ.TEXT = insert into TABLE что-то
IBT.Commit;
потом надо открывать все читающие запросы вновь. Может правильнее будет стартовать транзакцию не автоматически, а вручную? Может и правильнее, но запросы все равно открывать. Делать CommitRetaining? А в чем разница (не отвечайте, ответ знаю - IBASE.RU). Но, все-таки на вопрос можно прямо ответить (сам бы я ни за что не ответил)?
← →
Sergey13 © (2007-02-08 15:09) [8]> [7] sergeyst © (08.02.07 15:07)
Вставляй данные через датасет и ничего переоткрывать не надо. В одной транзакции.
← →
sergeyst © (2007-02-08 15:52) [9]
> Sergey13 © (08.02.07 15:09) [8]
Можно саааамые примитивные примерчики? Чтение, вставка... С датасет"ом
← →
Sergey13 © (2007-02-08 16:06) [10]> [9] sergeyst © (08.02.07 15:52)
Я балдею. Не знать как работать через датасет, но знать что нужно 2 транзакции минимум. 8-)
Dataset.Insert
Dataset.Edit
Dataset.Delete
Dataset.Post
F1
← →
sergeyst © (2007-02-08 16:32) [11]
> Sergey13 © (08.02.07 16:06) [10]
А я с вас балдею - знать дельфи, апи, еще кучу всего про IT, а в некоторых областях быть... как я в том, в чем вы профи. Так что ничего удивительного. Да, и вопросики, надо сказать, примитивные. Я не знаю, например, как зовут телепузиков.
← →
Sergey13 © (2007-02-08 16:36) [12]> [11] sergeyst © (08.02.07 16:32)
Да ладно не обижайся, но твой вопрос про вставку через датасет решается нажатием Ф1 на компоненте и тебе ли, знающему "кучу всего про IT" не знать этого.
← →
sergeyst © (2007-02-08 16:48) [13]
> и тебе ли, знающему "кучу всего про IT"
это я про вас.
> Да ладно не обижайся,
ни капли
> решается нажатием Ф1
спиковать и ридовать не умею, нормальных переводчиков нету.
← →
sergeyst © (2007-02-13 09:41) [14]Написал:
try
IBDSLink.Delete;
except
DataModule1.IBT.RollbackRetaining;
end;
DataModule1.IBT.CommitRetaining;
в гриде запись пропадает, но из базы не удаляется. Что я делаю не так?
← →
sergeyst © (2007-02-13 09:42) [15]IBDSLink - IBDataSet
← →
sergeyst © (2007-02-13 10:36) [16]Написал
IBDSLink.Delete;
IBDSLink.Post;
ругается - DataSet not in Edit or Insert mode. А как изменить этот mode на нужный мне?
← →
Johnmen © (2007-02-13 10:47) [17]
> Написал
> ...
> IBDSLink.Post;
Зачем? В чём смысл?
← →
Сергей М. © (2007-02-13 10:49) [18]
> как изменить этот mode на нужный мне?
>
Разуй глаза - DataSet not in Edit or Insert mode.
Все ведь написано - в режим Edit и Insert набор данных переходит только тогда, когда вызваны соответственно методы Edit и Insert.
← →
Сергей М. © (2007-02-13 10:48) [19]
> как изменить этот mode на нужный мне?
>
Разуй глаза - DataSet not in Edit or Insert mode.
Все ведь написано - в режим Edit и Insert набор данных переходит только тогда, когда вызваны соответственно методы Edit и Insert.
← →
Sergey13 © (2007-02-13 10:51) [20]> [14] sergeyst © (13.02.07 09:41)
CachedUpdates чему равен?
> [16] sergeyst © (13.02.07 10:36)
Post не нужен.
← →
sergeyst © (2007-02-13 10:52) [21]IBDSLink.Edit;
IBDSLink.Delete;
IBDSLink.Post;
То же самое!
← →
Johnmen © (2007-02-13 10:57) [22]
> IBDSLink.Edit; IBDSLink.Delete; IBDSLink.Post;
Какой здесь смысл?
← →
sergeyst © (2007-02-13 11:04) [23]
> Johnmen © (13.02.07 10:57) [22]
IBDSLink.Edit - это, я так понимаю, перевод датасета в режим редактирования
IBDSLink.Delete - удаление текущей записи
IBDSLink.Post - сохранение изменений
Или я ошибаюсь?
← →
Johnmen © (2007-02-13 11:31) [24]Редактирование - это изменение, а не удаление.
← →
Сергей М. © (2007-02-13 11:38) [25]
> BDSLink.Post - сохранение изменений
Сохранение изменений касается новой или существующей записи.
О каком сохранении изменений в удаленной записи может идти речь ? Подумай)
> спиковать и ридовать не умею
Плохо.
Тяжко тебе придется)
> нормальных переводчиков нету
Зато есть Гугль, где этого добра навалом)
Скачай себе StarDict - на первое время вполне сносный контекстный GPL-толмач.
← →
sergeyst © (2007-02-13 12:03) [26]М-да...
IBDSLink.Delete;
IBDSLink.ApplyUpdates;
Ну, теперь, это понятно интуитивно.
А датасет может сгенерировать запросы на редактирование/удаление/вставку для несколких таблиц?
> Тяжко тебе придется)
Что делать...
А долго учиться?
← →
sergeyst © (2007-02-13 12:04) [27]И еще. Где транзакция?
← →
sergeyst © (2007-02-13 12:18) [28]Скачал, но там файлы *.cpp - что с этим делать?
← →
Сергей М. © (2007-02-13 12:27) [29]
> датасет может сгенерировать запросы на редактирование/удаление/вставку
> для несколких таблиц?
Что значит "сгенерировать" ?
"Генерируешь" ты сам, ручками формируя тексты требуемых запросов.
А TIBDataSet лишь передает препарированные тексты этих запросов IB-серверу.
> Где транзакция?
В IBDSLink.Database.DefaultTransaction
> что с этим делать?
Собрать проект средствами MS VisualStudio
← →
sergeyst © (2007-02-13 13:30) [30]
> Сергей М. © (13.02.07 12:27) [29]
> "Генерируешь" ты сам, ручками формируя тексты требуемых
> запросов.
после написания запроса на выборку
правый клик на датасете->DataSet Editor.
← →
Сергей М. © (2007-02-13 13:36) [31]
> sergeyst © (13.02.07 13:30) [30]
??????
← →
sergeyst © (2007-02-13 13:59) [32]
>
> ??????
Открывается окошко, две закладки. На первой выбираешь имя таблицы, выбираешь primary-поля, жмешь Generate SQL, переходишь ко-второй закладке. Там четыре радиокнопки: Modify, Insert, Delete, Refresh. По щелчку на них открываются сгенерированные компонентом соотв. запросы.
← →
Сергей М. © (2007-02-13 14:24) [33]
> sergeyst © (13.02.07 13:59) [32]
> На первой выбираешь имя таблицы
> жмешь Generate SQL
Что мешает выбрать более одной таблицы ?
← →
sergeyst © (2007-02-13 15:10) [34]Что-то не выбирается.
← →
Сергей М. © (2007-02-13 15:14) [35]
> Что-то не выбирается.
Пиши Select/Insert/Update/DeleteSQL "ручками", непосредственно на языке IB DSQL, там все замечательно "выбирается".
← →
Сергей М. © (2007-02-13 15:16) [36]И вообще, если "спиковать и ридовать не умею", то дуй на ibase.ru - там все, что тебе нужно знать, фигурирует на великом и могучем.
← →
Sergey13 © (2007-02-13 16:08) [37]> [26] sergeyst © (13.02.07 12:03)
> А датасет может сгенерировать запросы на редактирование/удаление/вставку
> для несколких таблиц?
Зачем? Не боишься нарваться на неприятности?
> [35] Сергей М. © (13.02.07 15:14)
Что то сомнительно мне, что написав например в ModifySQL скрипт на несколько таблиц что-то будет работать. Ты сам так реально делал (а то мне проверять некогда)?
← →
Сергей М. © (2007-02-13 16:28) [38]
> Sergey13 © (13.02.07 16:08) [37]
> Что то сомнительно мне
Суть не в этом)
Оно мож и заведомо и не реализуемо, но автора полный бардак в голове.
Батонокидатель он)
← →
Sergey13 © (2007-02-13 16:56) [39]> [38] Сергей М. © (13.02.07 16:28)
Ну так начинающий. Но про бардак согласен. Про основы читать надо.
Страницы: 1 вся ветка
Текущий архив: 2007.03.04;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.03 c