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

Вниз

Поиск в найденном   Найти похожие ветки 

 
databaser   (2007-03-09 21:26) [0]

Для решения задачи использовал сохранение последнего запроса и вставку его в рекурсивную генерацию многокритериального запроса в "хвост".

Теперь же запросы не генерируются, а жестко забиты в БД. Как быть?

Вариант с сохранением последнего запроса использовал потому что БД read-only и не хотелось бы создавать отдельной таблицы для записи. Насколько я понял применить толком запрос к данным в датасете нереально, разве что Filter, но я так понял он не поможет в моих условиях.


 
MsGuns ©   (2007-03-10 00:05) [1]

>рекурсивную генерацию многокритериального запроса

На 9-то таблицах ? Что-то пан мудрствует ;)


 
databaser   (2007-03-10 06:55) [2]

MsGuns ©   (10.03.07 00:05) [1]
В смысле? ) Ведь "степень" рекурсии зависит от количества критериев (вложенности запросов с использованием IN). К тому же количество критериев может измениться в ближайшее время в большую сторону. Поэтому подобная генерация была более чем удобна (правда, исключительно, для меня).

Хотелось бы услышать крик "эй, парень, ты все делаешь через задн*цу", мне бы уже стало легче +)

Что по поводу Subj"a?


 
MsGuns ©   (2007-03-10 14:08) [3]

>databaser   (10.03.07 06:55) [2]
>Ведь "степень" рекурсии зависит от количества критериев (вложенности запросов с использованием IN). К тому же количество критериев может измениться в ближайшее время в большую сторону. Поэтому подобная генерация была более чем удобна (правда, исключительно, для меня).

п-п-п-ереведи

>Хотелось бы услышать крик "эй, парень, ты все делаешь через задн*цу", мне бы уже стало легче +)

"эй, парень, ты все делаешь через задн*цу" !!!


 
Johnmen ©   (2007-03-10 14:46) [4]


>  (вложенности запросов с использованием IN)

"эй, парень, ты все делаешь через задн*цу" !!!


 
Desdechado ©   (2007-03-10 18:30) [5]

причем задницу с хроническим геморроем


 
databaser   (2007-03-10 22:16) [6]

MsGuns ©   (10.03.07 14:08) [3]
Desdechado ©   (10.03.07 18:30) [5]
Пасибо, мужыки. Стало легче. Я так понял вариант с задницей - это вариант использования динамически генерируемых вложенных запросов? Вариант с кучей запросов встроенных в mdb непосредственно - нормуль?

Johnmen ©   (10.03.07 14:46) [4]
а как можно иначе подойти к решению?


 
Johnmen ©   (2007-03-10 23:22) [7]


> databaser   (10.03.07 22:16) [6]
> а как можно иначе подойти к решению?

К решению чего? Я не понял...
А задница - это динамически генерируемых вложенных запросов.
Вариант с кучей запросов встроенных в mdb непосредственно тоже задница... Если, конечно, они не описывают в необходимой и достаточной мере все потребности, используя параметрическое задание необходимых параметров.


 
databaser   (2007-03-10 23:38) [8]


> Johnmen ©   (10.03.07 23:22) [7]
> К решению чего? Я не понял...


Как можно оформить запрос на выборку по нескольким критериям без SELECT ... IN (SELECT ...)? То что запросы переехали в БД не изменило их вида практически ) Просто теперь они жестко забиты в нужном виде.

К тому же я сам увел вас от subj"a. Как можно организовать поиск в найденном при сложившихся условиях?

Ужасно вышло что тема оказалась разбита на два топика =( Надо было вместе пытаться. http://delphimaster.net/view/3-1173464588/


 
Johnmen ©   (2007-03-11 01:26) [9]


>  SELECT ...WHERE [A]... IN (SELECT ...WHERE [B]...)
заменяется на SELECT ...WHERE [A] and [B]..., что очевидно.
Если из нескольких таблиц, то, соответственно, используем соединение.


 
databaser   (2007-03-11 22:41) [10]

Johnmen ©   (11.03.07 01:26) [9]
С этим понял.

Давайте вернемся все-таки к subj. С ним пока темный лес. Как организовать поиск в найденном? Можно ли это сделать не создавая отдельной таблицы с записью туда последней выборки?

Насколько оптимален вариант с запоминанием текста последнего запроса и использования вложенности?

Возможно ли это организовать в рамках параметризированных запросов?


 
Johnmen ©   (2007-03-11 23:10) [11]


> databaser   (11.03.07 22:41) [10]
>  Как организовать поиск в найденном? Можно ли это сделать
> не создавая отдельной таблицы с записью туда последней выборки?

[9]

> Насколько оптимален вариант с запоминанием текста последнего
> запроса и использования вложенности?

Ни насколько. Он вообще крайне неэффективен.

> Возможно ли это организовать в рамках параметризированных
> запросов?

Конечно.


 
MsGuns ©   (2007-03-11 23:46) [12]

>databaser   (11.03.07 22:41) [10]
>Как организовать поиск в найденном? Можно ли это сделать не создавая отдельной таблицы с записью туда последней выборки?

with TADODataSet.Create(nil) do
 try
   Connection := SourceDataSet.Connection;
   CommandText := "Select S.* from ("+SourceDataSet.CommandText+") S "+
        <Строка с доп.условиями>
   Open;
   <Дела с возвращенным рекордсетом>
   Close;
 finally
   Free;
 end;


 
MsGuns ©   (2007-03-11 23:48) [13]

Если НД, где надо искать, не слишком большой, можно организовать сканирование и найденные записи показывать в стрингриде или TClientDataSet.


 
databaser   (2007-03-12 10:01) [14]

MsGuns ©   (11.03.07 23:46) [12]
Спасибо, в принципе так и делал (сохранял последний запрос потом искал в нем, правда запрос делал через зад). В качестве CommandText"a может быть использована хранимая процедура (ее имя) в данном случае?

MsGuns ©   (11.03.07 23:48) [13]
Сканирование отпадает. НД не мал.


 
MsGuns ©   (2007-03-12 22:54) [15]

>databaser   (12.03.07 10:01) [14]
>Спасибо, в принципе так и делал (сохранял последний запрос потом искал в нем, правда запрос делал через зад). В качестве CommandText"a может быть использована хранимая процедура (ее имя) в данном случае?

В акцесе нет ХП.
А если вместо акцеса MSSQL, то тоже нельзя, ибо Select from SP мелкомягкие не поддерживают. В этих случаях надо либо писать на сервере функцию и запускать ее, либо делать "через зад", используя рекордсет AdoCommand


 
Mike Kouzmine ©   (2007-03-12 23:27) [16]

MsGuns ©   (12.03.07 22:54) [15] Вообще-то встроенные запросы трактуются как хп.


 
MsGuns ©   (2007-03-13 01:29) [17]

>Mike Kouzmine ©   (12.03.07 23:27) [16]
>Вообще-то встроенные запросы трактуются как хп.

Поясни, будь так добр, можно со ссылкой


 
databaser   (2007-03-13 05:49) [18]

MsGuns ©   (12.03.07 22:54) [15]
MsGuns ©   (13.03.07 01:29) [17]
Ссылки нету под рукой, но Mike Kouzmine верно утверждает. Запросы из mdb воспринимаются как SP, проверить можно используя TADODataSet (cmStoredProc) -> CommandText.


 
MsGuns ©   (2007-03-13 21:11) [19]

>databaser   (13.03.07 05:49) [18]
>Ссылки нету под рукой, но Mike Kouzmine верно утверждает. Запросы из mdb воспринимаются как SP, проверить можно используя TADODataSet (cmStoredProc) -> CommandText.

Осталось выяснить только две вещи:
1. КЕМ воспринимаются ?
2. Что понимается под глаголом "ВОСПРИНИМАЮТСЯ" ?


 
Johnmen ©   (2007-03-13 22:31) [20]


> MsGuns ©   (13.03.07 21:11) [19]
> 1. КЕМ воспринимаются ?
> 2. Что понимается под глаголом "ВОСПРИНИМАЮТСЯ" ?


1. АДО.
2. Выглядят так (с т.з. АДО), будто бы это настоящие ХП.


 
MsGuns ©   (2007-03-14 22:16) [21]

>Johnmen ©   (13.03.07 22:31) [20]

Спасибо, приму к сведению



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

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

Наверх




Память: 0.5 MB
Время: 0.042 c
2-1179178018
{RASkov}
2007-05-15 01:26
2007.06.03
"Уникальный" идентификатор


2-1179146369
POP
2007-05-14 16:39
2007.06.03
Непонятка с передачей данных (COM порт)


2-1179214989
RomanLN
2007-05-15 11:43
2007.06.03
Что делаю не так???


2-1178949772
Oleg_teacher
2007-05-12 10:02
2007.06.03
Парадокс


11-1160821604
vampir_infernal
2006-10-14 14:26
2007.06.03
Exception, TNotifyEvent и не только





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