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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.044 c
2-1170831337
Ламерок
2007-02-07 09:55
2007.03.04
Почему не вставляется русскоязычный текст в таблицу базы данных?


1-1168526234
Apachi
2007-01-11 17:37
2007.03.04
Как программно узнать зарегистрирован ли COM объект по имени


15-1170792235
MSTeam
2007-02-06 23:03
2007.03.04
Инсталлятор


2-1171269096
Максименко
2007-02-12 11:31
2007.03.04
Редактирование MP3 Tag-ов


15-1170785730
Стаффаж
2007-02-06 21:15
2007.03.04
Программист ищет работу. "ин тим" - не предлагать.





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