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

Вниз

Используя ЗАБОЙ, полю присваивается NULL, а хотелось бы НОЛЬ   Найти похожие ветки 

 
Sergey13 ©   (2006-06-06 12:36) [40]

2[38] q-q   (06.06.06 12:30)
>Пример с водителями взялся из воздуха на фразу:
Ну так не все воздушные катаклизмы достойны опубликования. 8-)))))))))))))))


 
ЮЮ ©   (2006-06-06 12:38) [41]

Ну тогда бы по сабжу рассказал, что это за поля и почему в таблице они должны быть нулевыми, в то время как пользователю удобнее их видеть NULLевыми. Нолики-то зачем? nvl(или как она у вас в FB зовется) в конце концов есть


 
q-q   (2006-06-06 12:44) [42]

Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ, они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования с этой записью возвращает NULL.


 
unknown ©   (2006-06-06 12:46) [43]


> ЮЮ ©   (06.06.06 12:38) [41]
> nvl(или как она у вас в FB зовется)

coalesce

И, все-таки непонятно, почему > Числовых полей - много, и их число увеличивается


 
Ega23 ©   (2006-06-06 12:46) [44]


> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ,
>  они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования
> с этой записью возвращает NULL.
>


Редактировать данные в DBGrid-е и сразу шарашить их в базу - плохой тон.


 
Sergey13 ©   (2006-06-06 12:47) [45]

2[42] q-q   (06.06.06 12:44)
А ты им и не объясняй. Ты программу соответственно напиши.


 
unknown ©   (2006-06-06 12:48) [46]


> q-q   (06.06.06 12:44) [42]
> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ

Не надо ничего пользователю объяснять. См. [9] - значение поля по умолчанию
будет = 0. И никаких null-ов.


 
Sergey13 ©   (2006-06-06 12:48) [47]

2[44] Ega23 ©   (06.06.06 12:46)
Плохой тон - писать неправильно работающие программы. Все остальное - индивидуальный стиль программирования. 8-)


 
Сергей М. ©   (2006-06-06 12:50) [48]


> q-q   (06.06.06 12:44) [42]


Тебе чем BeforePost не угодило ?
Зачем (особенно при такой структуре БД) наживать себе геморрой с триггерами, если вся твоя из пальца высосанная проблема до смешного просто решается прямо на стороне клиента ?


 
Ega23 ©   (2006-06-06 12:51) [49]


> Плохой тон - писать неправильно работающие программы. Все
> остальное - индивидуальный стиль программирования. 8-)


Согласен. Но если бы люди не пользовали эту дурацкую связку TTable - TDBGrid, то, согласись, таких вопросов бы не возникало.
Ну уж больно всё глючно получается...


 
Ega23 ©   (2006-06-06 12:52) [50]


> Пользователу не объяснишь, что числа надо обнулять НУЛИКОМ,
>  они пользуются ЗАБОЕМ. В базу попадает NULL. Запрос суммирования
> с этой записью возвращает NULL.
>


А IsNull использовать в запросе религия не позволяет?


 
saxon   (2006-06-06 12:54) [51]

Вот так "ЗАБОЙ" :)


 
Sergey13 ©   (2006-06-06 12:55) [52]

2 [49] Ega23 ©   (06.06.06 12:51)
Задачи разные бывают. Иногда "TTable - TDBGrid" вполне себя оправдывает. Нпример всевозможные БД Вьюеры/Эдиторы работают именно так. И ничего - люди пользуются.


 
Ega23 ©   (2006-06-06 12:57) [53]


> Задачи разные бывают. Иногда "TTable - TDBGrid" вполне себя
> оправдывает. Нпример всевозможные БД Вьюеры/Эдиторы работают
> именно так. И ничего - люди пользуются.


Дуракозащиту очень тяжело ставить, согласись...


 
q-q   (2006-06-06 12:58) [54]

> Ega23 ©   (06.06.06 12:51) [49]
> > Плохой тон - писать неправильно работающие программы.
> Все
> > остальное - индивидуальный стиль программирования. 8-)
> Согласен. Но если бы люди не пользовали эту дурацкую связку
> TTable - TDBGrid, то, согласись, таких вопросов бы не возникало.

Табличные данные надо и представлять, и редактировать в табличной форме, вне завсимости от степени дурноты тона


 
Ega23 ©   (2006-06-06 13:00) [55]


> Табличные данные надо и представлять, и редактировать в
> табличной форме, вне завсимости от степени дурноты тона


Вот оно как, оказывается! 7 лет писал клиенты под БД, а таких прописных истин - не знал.
И заказчики, видимо, сплошные идиоты попадались, раз мне таких замечаний не делали.
Вот спасибо, открыл глаза на жизнь!


 
q-q   (2006-06-06 13:02) [56]

>Ega23 ©   (06.06.06 13:00) [55]
>> Табличные данные надо и представлять, и редактировать в
>> табличной форме, вне завсимости от степени дурноты тона
>Вот оно как, оказывается! 7 лет писал клиенты под БД, а таких прописных >истин - не знал.

Зачем людей мучать


 
Ega23 ©   (2006-06-06 13:04) [57]


> Зачем людей мучать


Видишь-ли. Судя по данной ветке, людей мучаешь как раз ты. А попутно - сам мучаешься.
Что мешает сделать модальную форму с соответствующими контролами и показывать её на редактирование и изменение данных?


 
Sergey13 ©   (2006-06-06 13:06) [58]

2[53] Ega23 ©   (06.06.06 12:57)
> Дуракозащиту очень тяжело ставить, согласись...
Не соглашусь. Но мы уходим от "забойной" темы. 8-)

[56] q-q   (06.06.06 13:02)
>Зачем людей мучать
Вот-вот. Приглашай программиста - он все и сделает для удовлетвореня логистов. 8-)

ЗЫ: надо же какой упорный попался! 8-)


 
q-q   (2006-06-06 13:07) [59]

А если тебе надо забить >500 позиций как можно быстрее (<2 мин)


 
ЮЮ ©   (2006-06-06 13:10) [60]

А вот здесь я на стороне q-q.
Правда чтобы отого достичь, к сожалению, DBGrida, да и DataSeta, недостаточно.

>Ega23 ©   (06.06.06 13:00) [55]
Глянь
http://orpo.msun.ru/files/projects/up.pdf (на стр.4-5). Как, по твоему, "правильнее" и удобнее для пользователя редактировать таблицу, где строки и столбцы - объекты двух разных таблиц, а ячейки - объекты из таюлицы кросс-связей.

Автору. Только у меня это не поля, а объекты(записи), которые либо есть либо нет


 
ЮЮ ©   (2006-06-06 13:11) [61]

[60] - это к [54] vs [55]


 
Sergey13 ©   (2006-06-06 13:12) [62]

2[59] q-q   (06.06.06 13:07)
>А если тебе надо забить >500 позиций как можно быстрее (<2 мин)
Приведи хоть один жизненный пример с 500-ми позиций за <2 мин.


 
Сергей М. ©   (2006-06-06 13:12) [63]


> если тебе надо забить >500 позиций как можно быстрее (<2
> мин)
>


На то есть табличные процессоры а-ля Excel и логика импорта.


 
Ega23 ©   (2006-06-06 13:13) [64]


> Не соглашусь. Но мы уходим от "забойной" темы. 8-)


Так. Серёг, мы с тобой уже, наверное, раз 20-й на этот счёт схлёстываемся.
Может, тогда, объяснишь мне приватно, как лучше с такой связкой работать? Я несколько раз пытался постичь дао этого дела, но не преуспел.


 
Ega23 ©   (2006-06-06 13:14) [65]


> Правда чтобы отого достичь, к сожалению, DBGrida, да и DataSeta,
>  недостаточно.


Ну как минимум в ClientDataSet данные писать. А уж потом пытаться базу обновить...


 
Sergey13 ©   (2006-06-06 13:16) [66]

2[64] Ega23 ©   (06.06.06 13:13)
Легко. BeforePost дает полный контороль над записью на клиенте. Тригер дает полный контроль на сервере. Полнота контроля никак не зависит от модальности формы редактирования и вида представления информации. ИМХО так.


 
q-q   (2006-06-06 13:42) [67]

>>Сергей М. ©   (06.06.06 13:12) [63]
>> если тебе надо забить >500 позиций как можно быстрее (<2 мин)
>На то есть табличные процессоры а-ля Excel и логика импорта.

%-)))


 
q-q   (2006-06-06 13:48) [68]

>Sergey13 ©   (06.06.06 13:12) [62]
>>А если тебе надо забить >500 позиций как можно быстрее (<2 мин)
>Приведи хоть один жизненный пример с 500-ми позиций за <2 мин.
Забить ревизионную картонку по складу (бывает 5000 поз)


 
Сергей М. ©   (2006-06-06 13:51) [69]


> q-q   (06.06.06 13:42) [67]


!!!


 
Sergey13 ©   (2006-06-06 13:51) [70]

2[68] q-q   (06.06.06 13:48)
>Забить ревизионную картонку по складу (бывает 5000 поз)
За <20 минут (500/2=5000/20)? Не смешите мои тапочки. 8-)


 
Ega23 ©   (2006-06-06 13:54) [71]


> Забить ревизионную картонку по складу (бывает 5000 поз)


- Скажите, а вы можете печатать со скоростью 1000 символов в минуту?
- Конечно могу! Только такая %№;ня получается!


 
unknown ©   (2006-06-06 14:00) [72]


> q-q   (06.06.06 13:48) [68]

Офигеть %)
У меня операторы максимум 2к записей в день успевают каждый.
Полей ввода порядка 10-ти.
А у вас там киборги наверное сидят %))


 
q-q   (2006-06-06 14:18) [73]

полей ввода - 3
вводятся только цифры на правой клаве
500 позиций вводатся за 2 мин
таких картонок 20 каждый день
всего времени не больше 1 ч
просто работа


 
Sergey13 ©   (2006-06-06 14:23) [74]

2[73] q-q   (06.06.06 14:18)
Забойная работа! 8-)
Так в чем ты хочешь всех убедить то? А то я уже запутался. 8-)


 
q-q   (2006-06-06 14:25) [75]

ВСЕ, СДАЮСЬ


 
Johnmen ©   (2006-06-06 14:26) [76]

Т.е. 500*3/120=12.5 значений(да хоть и цифр) в секунду.
Это художественный свист...:)


 
Danilka ©   (2006-06-06 14:38) [77]

[76] Johnmen ©   (06.06.06 14:26)
Нифига.
Вот-так более верно, и то в реале все будет хуже:
500 строк * (3 колонки * 3 знака в каждой колонке + 3 нажатия enter в каждой колонке для окончания ввода) / 120 секунд = 50 ударов по клавиатуре в секунду.

хотел-бы я на это посмотреть.


 
Sergey13 ©   (2006-06-06 14:43) [78]

Хорош добивать то. Он же сдался. Лежачего не бьют. 8-))))))))))))


 
Ega23 ©   (2006-06-06 14:44) [79]


> Хорош добивать то. Он же сдался. Лежачего не бьют. 8-))))))))))))


Как говорил сенсэй: "Лежачий - не тот, кто упал, а тот, кто встать не может..."


 
ANB ©   (2006-06-06 15:15) [80]


> q-q   (06.06.06 14:18) [73]
> полей ввода - 3
> вводятся только цифры на правой клаве
> 500 позиций вводатся за 2 мин
> таких картонок 20 каждый день
> всего времени не больше 1 ч
> просто работа

И она намного быстрее делается именно на модальной форме. Более того, пользователь будет меньше путаться, и обращать внимание на то, переключился у него фокус на новую ячейку или нет. И привычные кнопки - ОК и Отмена, вместо непонятных кнопок в навигаторе и тулбаре.



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

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

Наверх





Память: 0.61 MB
Время: 0.043 c
15-1152709539
oldman
2006-07-12 17:05
2006.08.13
Ультиматум истек - Microsoft оштрафован


6-1143385179
anton773
2006-03-26 18:59
2006.08.13
декодирование почтового сообщения


3-1149584128
Хой
2006-06-06 12:55
2006.08.13
Компонент TDataSetProvaider.


2-1153752574
VitV
2006-07-24 18:49
2006.08.13
Delphi+Interbase - организация таблиц


2-1153811497
fedpavel
2006-07-25 11:11
2006.08.13
Есть что нибудь почитать





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