Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
У клиента стоит база на Акцессе (которую я и написал), но со временем количество юзеров выросло и стали возникать проблеммы типа "Нераспознаваемы формат БД" Я сделал всякие автоматические востановления и архивации, но все равно сей глюк напрягает... Поэтому решил приспособить что-то другое. Перечитал форум и присмотрелся к FireBird. Клиет-серверная структура типа FireBird->C++Builder (Delphi) мне конечно по душе, но возникает ряд воросов... Если знатокам не трудно то просвятите...please 1. К каким косякам надо готовится, используя FireBird (м.б. "Нераспознаваемый формат БД" у акцесса это цветочки)? 2. Неужели у C++Builder (Delphi) для просмотра таблиц только DBGrid и есть, а все остальное только ручками или подходящий ActiveX искать (я имею ввиду что у Акцесса ленточную форму можно как угодно настроить, а DBGrid чувствуются ограничения, /ну например два поля друг под другом в одной строке/)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 04:03 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
судя по ленточным формам - клиент у вас на аксесе? ну и на кой ляд вам геморой со сменой как клиентской части, так и "серверной"? оставьте клиента на аксесе, а базу перенесите на MS SQL (или полный, или бесплатный MSDE). и будет вам щастье. минимальные переделки - и про нераспознаваемый формат можете забыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 04:09 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Да, сейчас клиентская и "серверная" часть на Акцессе, но дело в том, что требуется разработка приложения с активной работой по карте (т.е. с графикой), а из моего опыта работы в Акцессе, когда дело касается OLE объектов, то начинаются тормоза (это я в формы вставлял картинки, для определения состояния той или иной записи). Поэтому с целью ускорения работы с графикой и решил рассматривать что-то иное. ЗЫ. Может кто еще подскажет, как создать поле счетчика (автоинкремента) в FireBird? Генератор и триггер я создал. В самом FireBird'е счетчик полей работает, но когда в таблицу из Builder'а пишешь, то нифига не инкрементирует. Требует задать значение вручную :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 06:34 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
первое правило разработчика баз данных в BCB/Delphi - _никогда_ не используй TTable ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 07:26 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
вот еще, не правило но рекомендация: не позволяй пользователю редактировать/добавлять записи прямо в гриде. делай модальное окошко, в котором пользователь вводит нужные поля и нажатием кнопки "сохранить" или там "ок" коммитит данные. и еще рекомендация. если ты используешь TDBNavigator - _забудь_ про него :-) ни в одном моем проекте нет этого навигатора, но это, конечно, возможно следствие моей врожденной тупости и все остальные часто его используют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 07:30 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
вот еще, не правило но рекомендация: не позволяй пользователю редактировать/добавлять записи прямо в гриде. делай модальное окошко, в котором пользователь вводит нужные поля и нажатием кнопки "сохранить" или там "ок" коммитит данные. Хмм... Прости господи, какое-то уродское правило (имхо) Причем встречаю такое уже не в первый раз. Кажись подобный стиль характерен и для дельфей, и для VB. Можно спросить, в дельфях и VB что, имеются какие-то проблемы с databound контролами и гридами? сори за оффтоп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 07:41 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
какое правило по твоему уродское? то, которое я назвал рекомендацией а не правилом? ну это не важно. я за других не скажу, но в моей практике такой подход себя ничем не дискредитировал, более того, в тех формах, где значения менялись прямо в гриде, некоторые торопливые невнимательные пользователи мне потом доказывали, вот я этого не меняла/не делала а оно тут стоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 08:36 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Ledokol1. К каким косякам надо готовится, используя FireBird (м.б. "Нераспознаваемый формат БД" у акцесса это цветочки)? Что забудешь где сервер стоит. Ledokol2. Неужели у C++Builder (Delphi) для просмотра таблиц только DBGrid и есть, а все остальное только ручками или подходящий ActiveX искать (я имею ввиду что у Акцесса ленточную форму можно как угодно настроить, а DBGrid чувствуются ограничения, /ну например два поля друг под другом в одной строке/)? Еще есть DBCtrlGrid. Кроме стандартных гридов есть масса сторонних компонент. На мой взгляд одни из самых популярных QuantumGrid и TDBGridEh. Последним пользуюсь, очень неплох. LedokolМожет кто еще подскажет, как создать поле счетчика (автоинкремента) в FireBird? Генератор и триггер я создал. В самом FireBird'е счетчик полей работает, но когда в таблицу из Builder'а пишешь, то нифига не инкрементирует. Требует задать значение вручную :( Довольно частый вопрос у новичков. Посмотри в архивах в соответствующем форуме. Недели две назад обсуждали. Я делаю через ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 08:53 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Лох ПозорныйХмм... Прости господи, какое-то уродское правило (имхо) Кажись подобный стиль характерен и для дельфей, и для VB. Можно спросить, в дельфях и VB что, имеются какие-то проблемы с databound контролами и гридами? У меня такая "уродская" практика сложилась еще со времен Clipper. Тогда шла борьба с зависшими блокировками, разрушенными индексами и прочими прелестями файл-серверной технологии. Но оказалось, что и на КС она неплохо работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 09:01 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
alex_kя за других не скажу, но в моей практике такой подход себя ничем не дискредитировал, более того, в тех формах, где значения менялись прямо в гриде, некоторые торопливые невнимательные пользователи мне потом доказывали, вот я этого не меняла/не делала а оно тут стоит. Тут желательно добавить либо фискальную таблицу, либо фискальные поля в каждую таблицу и фиксировать кто и когда вносил изменения. Иначе всегда будешь крайний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 09:04 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Еще есть DBCtrlGrid. Кроме стандартных гридов есть масса сторонних компонент. На мой взгляд одни из самых популярных QuantumGrid и TDBGridEh. Последним пользуюсь, очень неплох. Сразу возникает вопрос: где раздобыть QuantumGrid и TDBGridEh? Во вкладках BCB не нашел... LedokolМожет кто еще подскажет, как создать поле счетчика (автоинкремента) в FireBird? Генератор и триггер я создал. В самом FireBird'е счетчик полей работает, но когда в таблицу из Builder'а пишешь, то нифига не инкрементирует. Требует задать значение вручную :( Довольно частый вопрос у новичков. Посмотри в архивах в соответствующем форуме. Недели две назад обсуждали. Я делаю через ХП.[/quot] Что значит ХП? (извиняюсь за назойливость) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 09:38 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
LedokolСразу возникает вопрос: где раздобыть QuantumGrid и TDBGridEh? Во вкладках BCB не нашел... Это сторонние компоненты и их надо доустанавливать. TDBGridEh можно скачать по http://www.farpost.com/personal/dmitryb Вообще есть такой сайт - TORRY . Там можно найти компоненты на все случаи жизни. LedokolЧто значит ХП? (извиняюсь за назойливость) Ничего страшного. ХП - это хранимая процедура. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 10:38 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 alex_k более того, в тех формах, где значения менялись прямо в гриде, некоторые торопливые невнимательные пользователи мне потом доказывали, вот я этого не меняла/не делала а оно тут стоит Да пусть доказывает что угодно - если на права на изменение есть только у этого пользователя, а в логе изменений прописан его логин. Для невнимательных можно дополнительный confirm сделать. Однако обычно просят сделать шоб было как можно удобнее, а не как можно неудобнее (зато типа не ошибешься). 2 f_w_p У меня такая "уродская" практика сложилась еще со времен Clipper. Тогда шла борьба с зависшими блокировками, разрушенными индексами и прочими прелестями файл-серверной технологии. Но оказалось, что и на КС она неплохо работает. Простите, а ФС и КС здесь причем? Что, вынос редактирования из непосредственно грида в отдельную формочку - позволит не блокировать изменяемые записи? Или индексы перестанут рушиться? моя не понимай ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 11:57 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
авторПростите, а ФС и КС здесь причем? Что, вынос редактирования из непосредственно грида в отдельную формочку - позволит не блокировать изменяемые записи? Или индексы перестанут рушиться? Угу, позволит. Потому что оттуда, из отдельной формы, через ХП данные меняются, а не напрямую. авторДля невнимательных можно дополнительный confirm сделать. Я делал на удаление аж три конфирма - когда удалили, пришли и говорят: я три раза ОК нажал и все удалилось -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 12:15 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Необходимость использования модальной формы диктуется ИМХО кривостью гридов. А что, грид на изменение строки не может соответствующую ХП вызвать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 12:44 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Может. Но я также считаю, что редактирование данных в гриде, кроме особых случаев, это есть нехорошо и неудобно (особенно когда у вас 25 полей и половина из них списки и чекбоксы), поэтому нигде так не делаю - только отдельной формой, правда модальной или немодальной в зависимости от разных вещей -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 12:56 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra : скорей вопрос в том. как результат редактировая грида отправлять в базу. Я считаю правильным отравлять не построчно, а одной транзакций ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:04 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygra авторПростите, а ФС и КС здесь причем? Что, вынос редактирования из непосредственно грида в отдельную формочку - позволит не блокировать изменяемые записи? Или индексы перестанут рушиться? Угу, позволит. Потому что оттуда, из отдельной формы, через ХП данные меняются, а не напрямую. Что позволит? В момент фиксации изменений не блокировать запись? Покажите мне такую модальную форму и такую ХП Кстати, смешались в кучу кони, люди... Где вы в файл-серверной архитектуре ХП нашли? Или наоборот, где в клиент-серверной - изменение "напрямую"? Для ФС - один хрен напрямую, что через доп.форму, что через грид. Для КС - один хрен через Update-запрос из грида или вызов сохраненки из формы. Не думаете же вы, что грид напрямую с mdf и ldf файлами работает (для MS SQL)? tygraНо я также считаю, что редактирование данных в гриде, кроме особых случаев, это есть нехорошо и неудобно (особенно когда у вас 25 полей и половина из них списки и чекбоксы) Кто вам мешает в гриде списки и чекбоксы держать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:06 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Alexey Sh2 tygra : скорей вопрос в том. как результат редактировая грида отправлять в базу. Я считаю правильным отравлять не построчно, а одной транзакций Надо транзакцией - делайте транзакцию. По кнопке ей делайте коммит. Зачем для транзакции дополнительная форма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 13:07 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
У меня тут еще вопрос возник... а ADO компоненты не проще будет использовать? И еще если с их помощью через JET провадера с .mdb файлом работать то это уже ФС сиситема получиться? ЗЫ Я понимаю, вопрос немного не по теме, но вот этот геморой с обычным автоинкрементом меня немного напрягает (может потомучто система для меня новая) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:09 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
авторКто вам мешает в гриде списки и чекбоксы держать? Я же написал: неудобно редактировать в гриде, если полей больше трех штук. Не видит юзер все данные сразу, поэтому ошибок больше и "производительность" меньше :) По поводу блокировок - ну да, в фс ничего не спасет, если только выполнить update/insert отдельно. автор2 tygra : скорей вопрос в том. как результат редактировая грида отправлять в базу. Я считаю правильным отравлять не построчно, а одной транзакций Если вы говорите о клиентских транзакциях, и транзакции открываете перед началом редактирования и закрываете после, да еще после редактирования нескольких строк, то это самый неправильный способ :) Или вы что-то иное имели ввиду? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:29 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygra автор2 tygra : скорей вопрос в том. как результат редактировая грида отправлять в базу. Я считаю правильным отравлять не построчно, а одной транзакций Если вы говорите о клиентских транзакциях, и транзакции открываете перед началом редактирования и закрываете после, да еще после редактирования нескольких строк, то это самый неправильный способ :) Или вы что-то иное имели ввиду? Я думаю человек имел ввиду кэшированные изменения (отложенное сохранение изменений данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:33 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygraЯ же написал: неудобно редактировать в гриде, если полей больше трех штук. Не видит юзер все данные сразу, поэтому ошибок больше и "производительность" меньше :) Т.е. пока пользователь на грид просто смотрит - он все поля видит, а как только надо редактировать - тут же перестает поля видеть? Очень странная избирательность В аксесе правда с этим проще. Там пользователь любой грид может перевести в режим просмотра/редактирования одиночной записи и обратно. Однако при этом меняется только внешний вид, привязка к данным, возможность редактирования и возможность перехода по записям никуда не изчезают tygraПо поводу блокировок - ну да, в фс ничего не спасет, если только выполнить update/insert отдельно. От чего надо спасать ФС? От блокировок? Какая разница когда возникнет блокировка - в тот момент когда пользователь запись в гриде начнет сохранять, или в тот момент когда он из доп. формы запрос запустит (нажатием на кнопку)? И какая разница - ФС или КС? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 14:47 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
авторТ.е. пока пользователь на грид просто смотрит - он все поля видит, а как только надо редактировать - тут же перестает поля видеть? Очень странная избирательность Т.е. вы утверждаете, что сразу сможете увидеть полностью 15 полей в гриде? Без прокрутки по полям? Ну если так, то значит вы не землянин :)) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:06 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
ЛПДля ФС - один хрен напрямую, что через доп.форму, что через грид. С чего вы это взяли. Не зря ж писали такие функции как RecordToArray() и ArrayToRecord(). ЛПНе думаете же вы, что грид напрямую с mdf и ldf файлами работает (для MS SQL)? А вот тут я с вами полностью согласен. В том то и дело, что не напрямую. И с разными серверами по-разному:-(. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:11 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygra авторТ.е. пока пользователь на грид просто смотрит - он все поля видит, а как только надо редактировать - тут же перестает поля видеть? Очень странная избирательность Т.е. вы утверждаете, что сразу сможете увидеть полностью 15 полей в гриде? Без прокрутки по полям? Ну если так, то значит вы не землянин :)) -- Tygra's -- Во-первых - 15 полей я увидеть могу. Могу даже и больше. Столбцы ресайзить я умею, шрифт менять тоже, да и монитор не двенадцатидюймовый. Во-вторых. Я вообще-то не про просмотр спрашиваю, а про редактирование. Если у вас 200 полей каждое в полкилометра длиной - то вам эту радость неудобно просматривать в гриде. И скорее всего грид для просмотра не используется. В таком случае и редактировать через грид - не лучшее решение. Однако если грид уже используется (для просмотра) - значит просматривать уже удобно. Т.е. все что нужно - влезает. Если все что нужно влезает - то почему это нельзя тут же и редактировать? Причем "нельзя" в суперкатегоричном тоне? а лучше всего конечно дать пользователю выбирать - в чем ему удобнее работать, в гриде или в сингле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:16 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Тигра, а вот если нужно скопировать область из ехеля в tdbgrideh через copy/paste, вы тоже будете противиться? (все хорошо работает, просто хочу спросить, как бы вы решили этот момент) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:20 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 f_w_p f_w_p ЛПДля ФС - один хрен напрямую, что через доп.форму, что через грид. С чего вы это взяли. Не зря ж писали такие функции как RecordToArray() и ArrayToRecord(). Ээээ... это к чему? Я утверждал, что даже если принять, что грид висит прямо на данных (что в общем-то неверно), и при сохранении измененной записи меняет данные напрямую, то и запрос, исполненный в ФС - точно так же прямо с клиента лезет напрямую к данным. Так что для ФС процес редактирования и сохранения записи через грид и через допформу - принципиально не отличаются. Причем здесь RecordToArray? f_w_p ЛПНе думаете же вы, что грид напрямую с mdf и ldf файлами работает (для MS SQL)? А вот тут я с вами полностью согласен. В том то и дело, что не напрямую. И с разными серверами по-разному:-(. Однако (как и в случае ФС) - примерно одинаково что для грида, что для своей кнопки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:23 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Рыжий КотТигра, а вот если нужно скопировать область из ехеля Тссс... tygra в экселе не работает. Потому что там 256 полей, а tygra больше 15 не видит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:27 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
авторВо-первых - 15 полей я увидеть могу. Могу даже и больше. Столбцы ресайзить я умею, шрифт менять тоже, да и монитор не двенадцатидюймовый. Во-вторых. Я вообще-то не про просмотр спрашиваю, а про редактирование О! Так я и говорю - полностью 15 полей увидеть. Наверняка редактировать вы будете не на ресайзенных полях :) авторОднако если грид уже используется (для просмотра) - значит просматривать уже удобно . Т.е. все что нужно - влезает. Если все что нужно влезает - то почему это нельзя тут же и редактировать ? Причем "нельзя" в суперкатегоричном тоне? Очень странный вывод. Из того, что используется грид можно сказать только то, что он используется. Но никак, что это удобно. Ответ простой - а кроме грида ничего нет для просмотра списков данных Поэтому грид используется всегда и везде, как единственная возможность показать много строк. Поля ресайзить, передвигать и т.д. - это все лишь для того, чтобы хоть как-то было лучше видно, хотя бы часть. Но редактировать - это совсем другое дело. При редактировании данных желательно, чтобы юзер видел все данные одновременно, без всяких скроллирований колонок и по возможности длина компонентов, в которых редактируют данные, должна быть не меньше. Это все в гриде почти никогда не получится (если только 2-3 поля в нем всего, но и в этом случае смысла нет менять технологию). Ну и к тому же, форма с гридом - это просмотр и все, что с ним связано, а для редактирования отдельная форма, чтобы не мешать в кучу. Категорично, не категорично - удобно. И для меня, и для юзеров. авторТигра, а вот если нужно скопировать область из ехеля в tdbgrideh через copy/paste, вы тоже будете противиться? (все хорошо работает, просто хочу спросить, как бы вы решили этот момент) Не знаю, как бы решил. Ну на такой крайний случай можно и в гриде - это если только такая операция производится, copy/paste. Если это лишь частный случай, иногда возможный, ввода данных - то без грида. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:52 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Да, кстати, я в экселе действительно не работаю :)) Не люблю я его. Только если отчеты какие в него скопировать и отослать. И все. -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 15:53 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygra автор2 tygra : скорей вопрос в том. как результат редактировая грида отправлять в базу. Я считаю правильным отравлять не построчно, а одной транзакций Если вы говорите о клиентских транзакциях, и транзакции открываете перед началом редактирования и закрываете после, да еще после редактирования нескольких строк, то это самый неправильный способ :) Или вы что-то иное имели ввиду? -- Tygra's -- Я этого не говорил. Я говорил, что в случае использования грид можно изменения каждой строки не отправлять немедленно в базу(неважно какую, кс или фс) . Отправлять изменения - одной транзакцией . В этом случае не вижу никакой разницы между кс и фс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:02 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Что в вашем понимании есть транзакция? То, о чем вы говорите, действительно похоже на кэшированные изменения. И транзакции - это механизм кэшированных изменений, но к БД они ни коим образом не относятся, там свои транзакции. Но лично я не вижу смысла. Только неудобство: 1. нужно все время проверять, посылать ли, не посылать все строки, которые меняли/добавляли. 2. в БД должна быть актуальная информация, а то, что какая-то запсиь будет ждать 10 других, есть некарашо, остальные то клиенты ее не видят. 3. какой смысл городить городушки в принципе? -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:12 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Alexey ShЯ говорил, что в случае использования грид можно изменения каждой строки не отправлять немедленно в базу(неважно какую, кс или фс) . Отправлять изменения - одной транзакцией . То же самое можно сделать и для редактирования через форму. С точки зрения взаимодействия с БД абсолютно параллельно - грид или не грид. Только для того чтобы изменить одно и то же поле в десяти записях - придется форму десять раз открыть, десять раз мышью в нужное поле на форме ткнуть, десять раз форму закрыть, потом уже отправить все изменения. Утверждается что это удобно А у меня пользователи или из экселя столбец копируют, или один раз нажимают стрелочку вниз после редактирования строки. З.Ы. Что тут про зависшие блокировки и разрушенные индексы пытались сказать - так и не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:13 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra : называйте кэшированными изменениями, по барабану. транзакция окажется и прикладной и субд одновременно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:47 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Alexey Sh2 tygra : называйте кэшированными изменениями, по барабану. Так вы все же сами то знаете, чего применяете? Alexey Shтранзакция окажется и прикладной и субд одновременно. Так не бывает :)) Или-или. Вы тогда уж расскажите вкратце, как вы это делаете. А то вдруг вы транзакцию в БД открываете перед началом редактирования а коммитите после окончания редактирования 10-ой записи - но тогда это полный кошмар. Надеюсь, у вас не так? ЛПТолько для того чтобы изменить одно и то же поле в десяти записях - придется форму десять раз открыть, десять раз мышью в нужное поле на форме ткнуть, десять раз форму закрыть, потом уже отправить все изменения. Утверждается что это удобно А что, у вас на скорость записи редактируют? :) Юзер не блоха, ко всему привыкнет -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 16:58 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra : я даю себе отчёт в сходстве и различиях между транзакциями СУБД и бизнес-транзакциями. Повторяю , я нигде не говорил об открытии СУБД транзакции при открытии формы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:00 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
А что, у вас на скорость записи редактируют? :) Юзер не блоха, ко всему привыкнет Не, не на скорость. Скорость сама по себе никого не интересует. Юзера записи редактируют на время. Которое деньги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:01 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Вы говорили про транзакцию . Откуда я знаю, что вы на самом деле под этим понимаете, но так как разговор идет о работе с БД, то вывод сам собой напрашивается. В третий раз закинул невод.... Э, не то :). В третий раз уже спрашиваю, что вы под этим понимаете конкретно в этом топике и прошу уже примера. :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:03 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra : Попытаюсь ответить. 1) Пользователь открывает документ состоящий из шапки и многострочного тела, отображаемого в гриде. Начата бизнес-транзакция. 2) пользоваеьтель резвится с документом как может, шапку ,грид правит, из эселя данные копирует и т д. Без всяких изменений в базе. 3) Пользователь давит кнопку сохранить. Открывается СУБД транзакция , проверяется, что данные выданные пользователю никем не были изменены, СУБД транзакция коммитися. Если СУБД-коммит успешен, бизнес-транзакция считается завершённой успешно. Если пришлось сделать СУБД роллбэк, производится откат бизнес транзакции , всё что наредактировал пользователь теряется. Бизнес-транзакция откатывается P.S. разницы в реализации между фс и кс - не вижу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:17 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Ну так бы сразу и сказали, что речь идет о документе типа "счет-фактура" и т.д. :) А говорили то об редактировании вообще, поэтому никак и не прикручивалось никуда: ну есть 100 записей, нужно отредактировать 13, где тут "транзакция на все записи".... :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:23 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra : уфф, наконец договорились :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 17:34 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
ЛПЧто тут про зависшие блокировки и разрушенные индексы пытались сказать - так и не понял. Да дело то было в 1991-1994гг. Качество сетей соответствующее, упс-это был возглас удивления, а не UPS. Только пользователи были такими же как и сейчас:-(. ПО - MSDOS+Clipper(FoxPro,Paradox,CodeBase и т.д.). Поэтому редактирование было таким - копировалась запись в массив. Затем редактировался массив. Затем массив возвращался в запись, к-рая перед этим блокировалась. Т.о. если произошел сбой сети или пользователь просто выключил компьютер или ушел на обед, то никаких блокировок или неперестроенных индексов нет. P.S. А с 1995 года свалил на КС. И вам советую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 08:42 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
не всякий грид отображает данные подлежащие непосредственному редактированию. частенько это поля вычисляемые тем или иным образом. и редактируются они редактированием нескольких других полей таблицы или даже нескольких записей нескольких таблиц. про скорость ввода. делается это не так уж и сложно, пользователь долбит в строку, открывается форма, где в нужном порядке идут поля для заполнения. ентерогм или табом пользователь скачет по полям и все заполняет, затем долбит или ок или отмену если что-то не так. на удобство или скорость такая форма работы не влияет. потому что скорость открытия нового окна много больше скорости реакции человека :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 10:41 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 f_w_p Современные гриды (с которыми я сталкивался) так и работают - используют буфер для новых значений, и сбрасывают изменения именно в момент сохранения записи. Оптимистическую блокировку тоже умеют выставлять. Если в клиппере это было не так - ну значит действительно приходилось извращаться. Спасибо за разъяснения. 2 alex_k Вам домашнее задание. Откройте любой экселевский документ. Возьмите какой-нибудь числовой (к примеру) столбец, и измените значения в этом столбце в десяти подряд идущих строках. Рискну предположить, что ваши действия будут выглядеть как [ввел число - нажал Enter]*[10 раз] Теперь представьте, что на каждое изменение вам пришлось бы даблкликаться в строку, открывалась бы форма, где были бы отображены значения всех полей в этой строке, находить нужное текстовое поле, изменять там значение, закрывать форму. Представьте, что надо было ввести не 10, а 100 чисел. Если после этого вы продолжите утверждать, что скорость и удобство ввода не меняются потому как скорость реакции человека низкая и сам человек тормозит на открытии/закрытии формы - то я просто не завидую вашим пользователям :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 11:58 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 ЛП Ну если конкретный пользователь только и занимается, что правит один столбец в десятках строк и только этим, то конечно ему проще сделать правку в гриде. Но говорить, что так нужно делать всегда - ИМХО не есть хорошо :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 12:24 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
2 tygra А если пользователь занимается только тем, что правит одну запись, да с еще с пятью десятками полей - то ему и отображать эти данные в гриде не нужно. В большинстве случаев (у меня) если данные удобно отображать в гриде, то их удобнее и редактировать в гриде. Если их не удобно редактировать в гриде, то и отображать в гриде их скорее всего не удобно. Тогда они отображаются по умолчанию в режиме обычной формы (т.е. одновременно на экране только одна запись с нормально расположенными контролами), и юзера если и переводят эту форму в режим грида, то обычно только для всякого там поиска/фильтации/сортировки (что, однако, не мешает им и редактировать записи в таком виде - если захотят) Но говорить, что так нужно делать всегда - ИМХО не есть хорошо :) Согласен. Но я и не утверждал, что в гриде всегда удобнее редактировать. Это обратные утверждения были - что в гриде всегда ("кроме особых случаев") нехорошо и неудобно. И даже была рекомендация "не позволяй пользователю редактировать/добавлять записи прямо в гриде" (с) alex_k. Т.е. даже если пользователю удобнее - все равно не позволяй ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 12:47 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
авторА если пользователь занимается только тем, что правит одну запись, да с еще с пятью десятками полей - то ему и отображать эти данные в гриде не нужно. Эээээ, а как искать то эту запись без грида? :)) К примеру, хотя бы ФИО и мыло у клиента нужно в грид вывести, а уж дальше нашел запись - открыл форму. Как иначе то? Все 50 полей в грид конечно выводить не надо, все-равно пока последнее домотаешь, что было вначале забудешь :). -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 14:44 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
tygraЭээээ, а как искать то эту запись без грида? :)) Дык эта... Ctrl-F рулит :) а уж дальше нашел запись - открыл форму Со своей аксесовской колокольни я даже не сразу понял, о чем речь то идет У меня это выглядит как "открыл форму - нашел запись" В аксесе форма может быть в виде грида (datasheet), и она же в виде формы на одну запись (single form). В любом виде она все равно висит на полном наборе данных, только режим отображения разный (либо куча записей в виде грида, либо одна запись в каком хошь виде). Т.к. набор данных - весь, то и навигация по нему, поиск, фильтрация, сортировка и т.п. - ничем не отличаются. Надо в режиме Single Form отфильтровать по фамилии, отсортировать по имени, и найти запись с нужным е-мейл - вводишь фильтр для одного поля, делаешь сортировку по другому, и поиск по третьему, не выходя из режима Single Form. Набор данных отфильтруется, отсортируется и отпозиционируется на первое совпадение. В каком виде этот набор отображается (single form или datasheet) - совершенно не важно. В каком виде удобнее - в том виде и отображается. И редактируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 15:16 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Ну вот и договорились :) Методы те же, но с разных сторон :) -- Tygra's -- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 15:36 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Ну вот и договорились :) Методы те же, но с разных сторон :) методы те же, но выводы разные :) я не утверждаю, что в гриде данные нельзя редактировать - только потому, что их можно редактировать в каком-либо отличном от грида виде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2005, 15:55 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
ЛП tygraЭээээ, а как искать то эту запись без грида? :)) Дык эта... Ctrl-F рулит :) а уж дальше нашел запись - открыл форму Со своей аксесовской колокольни я даже не сразу понял, о чем речь то идет У меня это выглядит как "открыл форму - нашел запись" В аксесе форма может быть в виде грида (datasheet), и она же в виде формы на одну запись (single form). В любом виде она все равно висит на полном наборе данных, только режим отображения разный (либо куча записей в виде грида, либо одна запись в каком хошь виде). Т.к. набор данных - весь, то и навигация по нему, поиск, фильтрация, сортировка и т.п. - ничем не отличаются. Надо в режиме Single Form отфильтровать по фамилии, отсортировать по имени, и найти запись с нужным е-мейл - вводишь фильтр для одного поля, делаешь сортировку по другому, и поиск по третьему, не выходя из режима Single Form. Набор данных отфильтруется, отсортируется и отпозиционируется на первое совпадение. В каком виде этот набор отображается (single form или datasheet) - совершенно не важно. В каком виде удобнее - в том виде и отображается. И редактируется. В делфях есть такой компонент - DBCtrlGrid - на него кидаете те поля,которые нужно видеть/редактировать, по ним же делаете ограничения и правила, а грид ТОЛЬКО ДЛЯ ПРОСМОТРА. Обычно сверху ставят грид в режиме ридонли (грид! а не таблицу), а снизу 1-.. полей DBCtrlGrid с DB компонентами. Будеткак в вашем аксессе. А вообще прочли бы хоть пару книг о разработке БД программ на делфях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2005, 19:06 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
wellxА вообще прочли бы хоть пару книг о разработке БД программ на делфях. Родной, а на кой ляд мне это убожество (которое зовется дельфи)? Чтобы "сверху ставить грид а снизу еще какие-то контролы"? Это смешно. Пы. Сы. Это даже не смешно. Пы.Пы.Сы. Если у вас вместо гридов такое убожество - повестесь сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2005, 01:47 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Лох ПозорныйРодной, а на кой ляд мне это убожество (которое зовется дельфи)? Конечно, конечно! Delphi - убожество. А C++ вообще Г. А вот ACCESS - это для настоящих пацанов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2005, 08:11 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
f_w_p Лох ПозорныйРодной, а на кой ляд мне это убожество (которое зовется дельфи)? Конечно, конечно! Delphi - убожество. А C++ вообще Г. А вот ACCESS - это для настоящих пацанов. Без слёз на ваши дельфийские "компоненты" я смотреть не могу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2005, 09:54 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Alexey Sh f_w_p Лох ПозорныйРодной, а на кой ляд мне это убожество (которое зовется дельфи)? Конечно, конечно! Delphi - убожество. А C++ вообще Г. А вот ACCESS - это для настоящих пацанов. Без слёз на ваши дельфийские "компоненты" я смотреть не могу :) аналогично на пользователей ваших программ ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2005, 10:44 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Рыжий Котаналогично на пользователей ваших программ ;) Смелое утверждение. Учитывая что пользователей моих программ вы не видели, а вот я убогие гриды наблюдал. Причем, что интересно, существуют же нормальные, красивые гриды с отличной функциональностью. И под дельфи, и под VB. Казалось бы, бери и используй. Тока вот всегда найдется очередной деревянный дол***б, который вместо использования какого-нибудь ExpressQuantumGrid - будет рисовать контролы для редактирования снизу от рид-онли грида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2005, 11:39 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Не можете смотреть на VCL-ые компоненты - напишите свои. Delphi это позволяет, в отличие от Access. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 09:09 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Лох Позорный Рыжий Котаналогично на пользователей ваших программ ;) Смелое утверждение. Учитывая что пользователей моих программ вы не видели, а вот я убогие гриды наблюдал. Причем, что интересно, существуют же нормальные, красивые гриды с отличной функциональностью. И под дельфи, и под VB. Казалось бы, бери и используй. Тока вот всегда найдется очередной деревянный дол***б, который вместо использования какого-нибудь ExpressQuantumGrid - будет рисовать контролы для редактирования снизу от рид-онли грида. Деревянный дол...б - это скорее Вы, просто прочтите что было написано и по какому поводу. Сначала чел пишет как ему надо, ему говорят как ЭТО ЖЕ делается в делфи СТАНДАРТНЫМИ компонентами - про остальные мы знаем, но тут уж кто ворует, кто покупает. И кроме гридов есть фибы и ехлиб. А если не устраивает делфи, то зачем тогда этот тред о аксессе и файерберде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 15:57 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Был у меня с Аксесом такой случай. Работали мы с программой одного товарища, и по ходу технологии надо было mdb-файл копировать на другой компьютер. И вот, простое копирование файла приводило к тому, что на другом компьютере из базы исчезала одна, всегда одна и та же таблица. Каждый раз, без исключений. Товарищ делал некие попытки исправить это, но ничего не получалось. Выходили из положения относительно легко, просто та таблица была справочником, она никогда не менялась, вот мы на тот, второй комп поставили другой mdb-файл, содержащий только эту таблицу, и каждый раз вытягивали ее оттуда. Может быть причина в том, что тот Аксес был версии 2.0; вероятно с тех пор дела улучшились. Или в том, что копирование происходило через Новеллский файловый сервер, может быть он строил гадости Майкрософтскому файлу :) Ну а потом я на пару месяцев забил на праздники, выходные и приятные вечера, переписал ту программу на дельфи+paradox, понаставил убогих гридов (странно, никто не возмутился); обработка которая до того шла 20 минут, теперь проходит за 2 минуты (а пускать ее надо 10 раз в день, так что...).. но это уже другая история (c) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 20:31 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
S.G. Может быть причина в том, что тот Аксес был версии 2.0; вероятно с тех пор дела улучшились. А ОС Win3.11? Да с тех пор дела улучшились и значительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.03.2005, 20:54 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Я использую Access на в внутрифирменных разработках, ибо надо быстро и без ТЗ. Delphi(Builder) - для сторониих фирм, ибо красиво и более функционально и есть, обычно ТЗ :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2005, 16:22 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
WhoAreYou?Я использую Access на в внутрифирменных разработках, ибо надо быстро и без ТЗ. Delphi(Builder) - для сторониих фирм, ибо красиво и более функционально и есть, обычно ТЗ :). Хм. А я везде использую Delphi + FB, где подходит, конечно. Особенно для внутрифирменных разработок. И мне не кажется, что на access разработка быстрее ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 11:40 |
|
||
|
Access или FireBird?
|
|||
|---|---|---|---|
|
#18+
Проблема Аксессного грида не в том, что он убогий (бывают и хуже), а в том, что он такой, какой есть и больше ни какой. Для Дельфи гридов - туча. От девэкспрессовского, который стоит денег, но перед которым Аксессовский просто ноль без палочки, до того, что идёт в поставке Дельфи, который скорее основа для творчества. Вся прелесть - в свободе выбора. В Аксесс, конечно, можно активиксов понавтыкать, но это, IMHO, для экстремалов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2005, 18:05 |
|
||
|
|

start [/forum/topic.php?all=1&fid=35&tid=1553916]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
98ms |
get tp. blocked users: |
1ms |
| others: | 182ms |
| total: | 343ms |

| 0 / 0 |
