![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемка с удалением записей из набора данных [IB6.x]
Juice © (2005-10-05 10:21:00)Есть TIBDataSet, делаю в него выборку а затем программно удаляю из него множетсво записей, но удаляю имено из набора данных и на саму базу это не отображается - в DeleteSQL стоит что-то наподобие "Delete from ... where 1=2", аналогично и в ModifySQL. После этого показываю это все в TDBGrid.
Проблема в том, что вертикальный скроллбар ведет себя как-то странно, он не дотягивается до самого верхнего положения, а если его переместить в самое нижнее положение то это не будет последние записи - потом еще можно много раз нажать на "стрелку вниз" и "вілезут" еще записи, реально последние.
Попробовал разобраться в чем дело, и обнаружил следующее. Это код, который я вставил после функции "удаления ненужных записей" :
First;
while not eof do
begin
Next;
end;
В дебагере имеем следующее :
RecorcCount - 33.
RecNo : после First - 7 ! (Почему?)
после первого Next - 9,
после второго Next - 15,
...
после n-ного Next - 45, (что уже больше чем RecordCount!)
и т.п.
Наверное отсюда и все глюки грида (кстати пробовал и другие гриды, проблема явно не в гриде). Может вы что-то подскажите?
Seg (2005-10-06 14:36:00) [21]Я работал с базой Оракл с количеством записей 145 миллионов.
Мне смешно смотреть, как люди делают круглые глаза, говоря, что в их базе 100 тысяч записей...
Курдль (2005-10-06 14:19:00) [22]
> Sergey_Masloff (06.10.05 14:14) [41]
> На сем позвольте откланяться. У меня сведения другие но
> полемезировать на эту тему не собираюсь.
Очень прошу сообщить такие данные. Мы, конечно, любим здесь поспорить, иногда даже не в тему, но все равно приходим сюда за знаниями! Не затруднит поделиться, кто это составил конкуренцию ораклу? MS SQL 2005 Yukon?
Anatoly Podgoretsky (2005-10-06 14:16:00) [23]Курдля не трогать, а то потеряем такого ценного кадра.
Sergey_Masloff (2005-10-06 14:14:00) [24]Курдль © (06.10.05 14:08) [40]
>Не сомневаюсь, а абсолютно уверен, что по производительности и объемам >у оракла конкуренты отсутствуют
На сем позвольте откланяться. У меня сведения другие но полемезировать на эту тему не собираюсь.
Курдль (2005-10-06 14:08:00) [25]
> Sergey_Masloff (06.10.05 12:10) [38]
> А по производительности и объемам у оракла конкуренты имеются, не сомневайся.
Не сомневаюсь, а абсолютно уверен, что по производительности и объемам у оракла конкуренты отсутствуют. За это и денежки платят, а не заconnect ... by prior ...
Seg (2005-10-06 13:46:00) [26]Запрос надо построить по case технологии.
например
select case(when field1="1" then result=result+field21)
(when field1="2" then result=result-field2) as result
в синтаксисе могу ошибаться, но идея такая, чтобы при чтении строки смотреть код операции и соответственно прибавлять или отнимать количество товара.
Sergey_Masloff (2005-10-06 12:10:00) [27]Курдль © (06.10.05 11:31) [36]
>Оракл от MS SQL отличается не фитчами!!!
Ну ладно возьмем DB2. Кстати чует мое сердце что MSSQL все ближе ;-)
>PL/SQL не лучше TSQL.
Ну и что. В оракле и без того фич хватает. Те же собственные (полтзовательские) агрегатные функции, аналитические функции, туча возможностей подключаемых через пакеты, да устать можно перечислять. За это и денежки и выбор разработчиков. А по производительности и объемам у оракла конкуренты имеются, не сомневайся.
>В некоторых СУБД серверную логику на Java писать можно! Но это не >делает их лучше, чем оракл! :)
Ты хочешь сказать что на оракле это делать нельзя?! ;-)))
>Оракл - прежде всего высокая производительность при колоссальных >объемах данных и большом числе пользователей
Не. Не только и не столько.
Sergey13 (2005-10-06 11:34:00) [28]2[36] Курдль © (06.10.05 11:31)
>Оракл - прежде всего высокая производительность при колоссальных объемах данных и большом числе пользователей
Это не значение по умолчанию. В "умелых" руках и Оракл ложится на раз. 8-)
"Кадры решают все" (с) И.В.Сталин.
Курдль (2005-10-06 11:31:00) [29]
> ANB © (05.10.05 15:29) [34]
> Видел я одну такую хорошую, мощную трехзвенку. На мс скл.
> Под оракл ее уже лет 5 переписывают. Гы.
> Sergey_Masloff (06.10.05 11:04) [35]
> Да все видели. Когда бывш. нормальная система на MSSQL ложит
> мощнейший по железу сервак оракла при 5 юзерах.
> Не стоит забывать что за нормальный сервер плачены немалые
> деньги (именно за его фичи) и потом использовать тот же
> оракл как дорогой интербейс ;-) смешно. Том кайт с нами
> согласен.
Подытожив вышесказанное могу лишь процитировать классику: "Сдуру можно и х... сломать!" :)
Оракл от MS SQL отличается не фитчами!!! PL/SQL не лучше TSQL. В некоторых СУБД серверную логику на Java писать можно! Но это не делает их лучше, чем оракл! :)
Оракл - прежде всего высокая производительность при колоссальных объемах данных и большом числе пользователей (NASA и Pentagon не дадут соврать :).
Sergey_Masloff (2005-10-06 11:04:00) [30]ANB © (05.10.05 15:29) [34]
>Видел я одну такую хорошую, мощную трехзвенку. На мс скл. Под оракл ее >уже лет 5 переписывают. Гы.
Да все видели. Когда бывш. нормальная система на MSSQL ложит мощнейший по железу сервак оракла при 5 юзерах.
Не стоит забывать что за нормальный сервер плачены немалые деньги (именно за его фичи) и потом использовать тот же оракл как дорогой интербейс ;-) смешно. Том кайт с нами согласен.
ANB (2005-10-05 15:29:00) [31]
> Курдль © (05.10.05 15:15) [32]
Видел я одну такую хорошую, мощную трехзвенку. На мс скл. Под оракл ее уже лет 5 переписывают. Гы.
Sergey13 (2005-10-05 15:23:00) [32]2[32] Курдль © (05.10.05 15:15)
> приходит крупный клиент с хорошими деньгами
Ну и что. Раз есть деньги под требования - переделаем хоть под DB2 хоть под DBF. 8-)
Перевод на другую БД вообще вещь нетривиальная. Хоть серверную часть переводи хоть клиентскую хоть обе сразу.
Курдль (2005-10-05 15:15:00) [33]
> Sergey13 © (05.10.05 13:53) [27]
> Val © (05.10.05 13:41) [26]
В общем, согласен. Но хочу предупредить о страшнейших граблях:
Есть у Вас давно исполненный, отлаженный и успешно работающий проект. Вдруг, когда Вы уже о нем забыли, приходит крупный клиент с хорошими деньгами и говорит: "Хочу то же самое, но на ОРАКЛЕ!"
С тех пор у нас корпоративный стандарт - трехзвенка. Где основная бизнес-логика исполняется на сервере приложений. И он готов работать с клиентами хоть в локалке, хоть по инету. А к базам обращается по максимуму на ANSI SQL.
Sergey13 (2005-10-05 14:30:00) [34]2[15] Juice © (05.10.05 13:00)
> А TIBDataSet разве не в памяти, и разве в CDS не придется эмулировать удаление ?
Все в памяти. Но TIBDataSet привязан к БД, а CDS может быть и НЕ привязан.
ANB (2005-10-05 14:13:00) [35]
> Juice © (05.10.05 13:00) [15]
- структуру запостил. Теперь внятно - что хотим на выходе ?
ЗЫ. А зачем удалять из CDS ? Если туда можно класть только нужные записи ?
Sergey13 (2005-10-05 14:11:00) [36]2 [28] Val © (05.10.05 13:59)
>Но ок. Это уже оффтоп. Завязываю.
Поддерживаю. Сколько людей - столько (и даже больше!) и мнений. 8-)
Val (2005-10-05 13:59:00) [37]>[27] Sergey13 © (05.10.05 13:53)
> что изменение сервера без изменения клиента - это очень
> частный случай (когда параметры вызова ХП и ее выход не
> меняется).
Видно, не сталкивались с нашим/вашим законодательством и стремительностью его изменений. :)
Но ок. Это уже оффтоп. Завязываю.
Sergey13 (2005-10-05 13:53:00) [38]2[24] Курдль © (05.10.05 13:37)
Для себя я решаю подобные дилемы примерно так.
Бывают случаи, когда несложная обработка производится над большим объемом данных. Тут выгоднее сделать ХП, т.к. трафика нет, а процессорное время минимально. Иногда наоборот. Небольшой объем данных крутится долго и сложно. Иногда это выгоднее сделать на клиенте, т.к. трафик небольшой, а нагружать сервверный процессор не хочется - другим будет мешать.
Вот изходя из этих соображений я и стараюсь строить свои программы. По религиозным соображениям ничего не делаю. 8-)
2 [25] Val © (05.10.05 13:38)
Может быть. Зависит от конкретики. Просто я имею в виду, что изменение сервера без изменения клиента - это очень частный случай (когда параметры вызова ХП и ее выход не меняется). Часто надо менять и то и это.
Val (2005-10-05 13:41:00) [39]>[24] Курдль © (05.10.05 13:37)
разнотипные клиенты, имеющие доступ к одной БД.
Val (2005-10-05 13:38:00) [40]>[23] Sergey13 © (05.10.05 13:28)
:) Нет, Сергей, не отступлюсь. "Сильно" сказал, основываясь на личном опыте сопровождения банковских систем, когда время по внесению исправлениий/тестированию/передаче заказчику бывает крайне ограниченным.
Хотя в иных случаях все, конечно же, может быть иначе.