Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.07.2010, 12:39   #31
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

это значит, что в определенном возрасте должна быть определенная длина тушки.

например если тушка длиной 35см (m_lngth) в возрасте 3 месяцев (matur_st = 10) это нормально, а если в 1 месяц, то странно - так не должно быть, это скорее всего ошибка и пользователю предлагается проверить и исаправить m_lngth.

такая же история с weigth (вес) - он зависит от длины и пола.
Ks2010 вне форума Ответить с цитированием
Старый 20.07.2010, 12:51   #32
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Ребята! Пользуйтесь кнопкой



Невозможно смотреть не форматированные запросы.
Ks2010, все-таки я рекомендую почитать книжки по SQL'ю, раз уж ты не можешь нормально объяснить, что тебе нужно(а именно что должно быть результатом выборки и собственно из чего мы должны выбирать )...
Еще раз рекомендую по максимуму отказаться от OR, потому что с каждым таким условием таблица перебирается заново, ВСЯ.
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 20.07.2010, 13:08   #33
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от Ks2010 Посмотреть сообщение
это значит, что в определенном возрасте должна быть определенная длина тушки.

например если тушка длиной 35см (m_lngth) в возрасте 3 месяцев (matur_st = 10) это нормально, а если в 1 месяц, то странно - так не должно быть, это скорее всего ошибка и пользователю предлагается проверить и исаправить m_lngth.

такая же история с weigth (вес) - он зависит от длины и пола.
ну вот уже и подходим к истине

значит так - если это стандарты вашего предприятия, то проверяем что вводит чел - на лету, особенно эти параметры т.е. человек ввёл параметр - тут-же сформировали запрос и проверили.


думаю в результате этого можно избавится от половины текста в запросе.
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 20.07.2010, 13:44   #34
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

я конечно почитаю (в смысле уже =) )

но все равно постараюсь объяснить...

у меня таблица (DBF) с данными о рыбе
там есть колонки - вес (weigth ), длина (m_lngth), стадия зрелости(matur_st) и др. (например, район вылова - с ними проблем нет - надо проверить есть район в списке районов или нет)

надо проверить все ли данные соответствуют действительности, исключить случайные или спорные значения.

для этого пользователю предлагается проверять по отдельности параметры рыбы или все вместе (поставив галочки в checkbox).
и вот если какие-то значения веса, длины ... не соответствуют норме (а норма определяется биологами и зависит от вида (obj_code), региона, и многого другого ) то выводится на экран DBGrid, в котором отражается запрос из ADOQuery.
вот в запросе и описываются условия исключающие правильные значения и возвращающие только не верные.

не, на лету нельзя. присылается таблица из рейса. потом проверяется.

Последний раз редактировалось Stilet; 20.07.2010 в 13:52.
Ks2010 вне форума Ответить с цитированием
Старый 20.07.2010, 14:23   #35
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Давайте разберем пример, чтобы понять логику!
Идея с CheckBox'ами немного не понятна, например(для первых 2х chbox) здесь выбираются все данные для региона и все данные по vessel
Код:
select * from ЛЫЕБ02_1 where
region = '123456789'
or vessel = :ves
спрашивается: зачем, точнее для чего?

Цитата:
надо проверить все ли данные соответствуют действительности, исключить случайные или спорные значения.
А не проще сразу селектить случайные или спорные значения?
©Учиться, учиться и еще раз учиться!

Последний раз редактировалось quit; 20.07.2010 в 14:31.
quit вне форума Ответить с цитированием
Старый 20.07.2010, 15:22   #36
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

регион - числовое поле. есть список (изменяющийся) возможных значений поля "регион". вот я и проверяю соответствие. locate'ом. и при несоответствии в запрос добавляется условие

region = "значение, которого нет в списке".

так же с vessel'ем
"значение, которого нет в списке" - их может быть не одно и не два...сколько никто предположить не может (тогда и условие запроса значительно увеличится.)

это если пользователь отметил, что хочет проверять region и vessel, а если не хочет, то этих строк нет в запросе.

Цитата:
А не проще сразу селектить случайные или спорные значения?
так и делаю, просто, наверное, не правильно выразилась.
Ks2010 вне форума Ответить с цитированием
Старый 20.07.2010, 16:34   #37
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Ну что ж... Печально как то Могу посоветовать использовать радиобоксы, а то честн слово свалка какая то получается... не красиво в кучу брать данные по разным условиям. Ну или объединенные запросы использовать, может по лучше будет.
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 21.07.2010, 10:34   #38
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

использую union select

вроде все нормально!

p.s. - у меня там ещё кое-что с запросом не складывается. как всё получится напишу как работает.
Ks2010 вне форума Ответить с цитированием
Старый 21.07.2010, 10:37   #39
quit
Я есть!
Форумчанин
 
Аватар для quit
 
Регистрация: 17.02.2008
Сообщений: 318
По умолчанию

Цитата:
Сообщение от Ks2010 Посмотреть сообщение
использую union select

вроде все нормально!
наконец то дошло, сколько раз говорил ))

Цитата:
p.s. - у меня там ещё кое-что с запросом не складывается.
Что не получается? Пиши, поможем.
©Учиться, учиться и еще раз учиться!
quit вне форума Ответить с цитированием
Старый 21.07.2010, 10:47   #40
Ks2010
Пользователь
 
Регистрация: 08.07.2010
Сообщений: 62
По умолчанию

Цитата:
наконец то дошло, сколько раз говорил ))
=)) я думала надо по-другому (не текст запроса менять...). а union мне не очень вселяет доверие... почему то..... =)

Цитата:
Что не получается? Пиши, поможем.
да там с параметрами. если сейчас сама не разбирусь напишу.
но уже в другой теме, наверное...
Ks2010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перевод строки в long long и обратно Dimarik Общие вопросы C/C++ 9 16.09.2009 13:27
Ошибки «If statement missing )» Яр|/||< (^_^) Общие вопросы C/C++ 14 23.06.2009 23:17
Long file name (LFN) Liquor Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 29.03.2009 17:10
Statement Global blutang Microsoft Office Excel 4 07.02.2009 12:33