Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.56 MB
Время: 0.09 c
6-1159375630
SanJouK
2006-09-27 20:47
2007.03.04
Как написать простенький браузер ?


15-1170922718
vasIZmax
2007-02-08 11:18
2007.03.04
Дидактические игры?!


15-1170938869
Megabyte
2007-02-08 15:47
2007.03.04
Вопрос по движку PostNuke


9-1144704275
wik
2006-04-11 01:24
2007.03.04
Давайте создадим свою Game Company


2-1171375484
newbie2
2007-02-13 17:04
2007.03.04
Как избежать затирание обработки события в своем контроле?