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

Вниз

Заморочка с Post в TIBDataSet (4.52)   Найти похожие ветки 

 
Exciter ©   (2004-02-27 19:30) [0]

Имею таблицу FireBird. В ней поле N Varchar(1).
Открываю её с помощью Data : TIBDataSet.
Затем пишу
while not Data.EOF do
begin
 Data.Edit;
 Data.FieldByName("N").AsString:="F";
 Data.Post;
 Data.Transaction.CommitRetaining;
 Data.Next;
end;
Data.Transaction.Commit;

После этого цикла нифига в таблице не изменяется.
А если тоже самое с TIBTable сделать всё ОК.
База не ридонли и в транзакции по умолчанию taCommit стоит.
Замаялся уже.
Кто знает в чем проблема ?


 
Vlad ©   (2004-02-27 19:33) [1]

Свойства ModifySQL не прописано


 
Exciter ©   (2004-02-27 22:35) [2]

Забыл сказать, что ModifySQL прописано, что синхронно мониторю в Grid e, но при выходе из проги, даже параллельно смотря базу другой прогой, ИЗМЕНЕНИЙ НЕТ !!!


 
Petr V. Abramov ©   (2004-02-28 01:21) [3]

> Как лететь в Африку мы не знаем, но за "козлов" ответите :) (C) анекдот :)
 На самом деле в IBX много непонятных с точки зрения нормальной логики моментов. Я с ним немного поработал, после чего торжественно убрал из всех путей поиска и перешел на FIBPlus. Если Вам не поздно сделать то же самое, очень рекомендую.
 P.S. Я на 100% верю, что с IBX работать можно. Но, IMHO, с FIBPlus проще.


 
kaif ©   (2004-02-28 01:36) [4]

А я работаю с IBX, начиная с D5. Никаких таких проблем не замечал. Этот код должен работать. Где-то логическая ошибка. 1.Таблица в базе не меняется или в сетке?
2.Сканирование начинается с первой строки или может ты сразу в Eof оказываешься?
----------
В общем, работать этот код обязан. Если что-то не так, IBX тут не причем. Кстати, непонятно, зачем делать CommitRetaining после каждой Post. Потом, надеюсь, это все же отладочный пример. Иначе непонятно вообще зачем этот код. Проще выполнить один раз
update data set n = "F", а не сканировать это все на клиенте. Но как бы то ни было, код должен работать. Проверь все пошагово. Сделай отладочные выводы типа ShowMessage(Data.FieldByName("N").AsString), убедись, что в ModifySQL не просто что-то прописано, а прописано все правильно, то есть имеется
update data set n = :n where <правильное условие по выбору именно этой записи> и так далее. Если ты думаешь, что TIBTable делает что-то иное, чем то, что ты реализуешь сейчас с помощью TIBDataSet, то это не так. Просто TIBTable все запросы прописывает сама, а в TIBDataSet все запросы прописываешь ты и отвечаешь за их правильность тоже ты. Разница только в этом.


 
Johnmen ©   (2004-02-28 02:46) [5]

>kaif ©  (28.02.04 01:36) [4]

Добавить нечего. Разжевано до невозможности. Я бы так не смог...
:)))


 
Danilka ©   (2004-02-28 10:24) [6]

а я все-таки добавлю бе-бе-бе. :))
включи трассировку у TIBDatabase, поставь монитор, и смотри чего уходит на сервер - самый надежный способ. :))



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

Форум: "Базы";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.034 c
3-1077004965
smolin
2004-02-17 11:02
2004.03.28
select summa, schet into ( C: table1.dbf ) from table_


9-1062232999
IvoozZ
2003-08-30 12:43
2004.03.28
Сбор предметов и помещение их в инвентарь (2D квест)


6-1073837038
Iks
2004-01-11 19:03
2004.03.28
Передача изображения по сети


1-1078988895
Thick
2004-03-11 10:08
2004.03.28
Динамическое создание визуальных компонентов


1-1078591736
Ivolg
2004-03-06 19:48
2004.03.28
Удаление





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