|
|
|
SQL-запрос с блокировкой передачи данных
|
|||
|---|---|---|---|
|
#18+
Првет всем! Подскажите пожалуйста кто знает. Пишу программу на Delphi и там в зависимости от действий пользователя либо надо выбирать данные по некоторому полю либо нет. Создан список постоянных полей поэтому необходимо с сервера приложений либо передавать данные по этому полю либо нет. Можно ли блокировать передачу данных с помощью SQL-запроса и запрашивать например только метаданные и если да то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 18:25 |
|
||
|
SQL-запрос с блокировкой передачи данных
|
|||
|---|---|---|---|
|
#18+
Что значит, выбирать данные по некоторому полю? Можешь поточнее? Если не военная тайна, то пример пожалуйста. :), хотя-бы нереальный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 18:31 |
|
||
|
SQL-запрос с блокировкой передачи данных
|
|||
|---|---|---|---|
|
#18+
Вообщем я сделала свой построитель SQL-запросов в котором например ставишь галочку и в параметр SQL-запроса заносится что данные необходимо выбрать по всем районам (там ещё другие параметры есть специализированно для базы данных: группы потребителей газа, типы договоров и всякая другая фигня), а если снимаешь то как раз данные должны выбираться по всем районам и в Gride например это поле должно присутствовать но данные сервером приложений не должны возвращаться, т.е. поле должно быть пустое. А запрос select * from users where k_region in (<все возможные значения>) and k_gro in (...) and k_group_users in (...) и т.д. Конструкции поле in () идут как параметры запроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 19:29 |
|
||
|
SQL-запрос с блокировкой передачи данных
|
|||
|---|---|---|---|
|
#18+
Понятно. Ну, во-первых, в SELECT предложении в списке столбцов ты всегда можешь указать SELECT ...,' ' AS Pole1,0.0 AS Pole2,... В описанных тобой случаях(классический случай программы статистических запросов) я с помощью состыковки строк сам формирую список возвращаемых столбцов и список соединяемых таблиц (даже в случае коррелированных запросов). Так быстрее и надежнее работает, хотя писать сложнее. Во вторых, при множественном выборе пользователем значения параметра надо уходить от соблазна создать запрос типа SELECT...WHERE (par1 IN (,,,,,)) задаваемый твоей программой список не индексирован, и IB будет замедляться в геометрической прогрессии в зависимости от количества значений в списке. Для передачи серверу списка значений для параметра обычно используют таблицу, уже проиндексированную по этому полю. так в разы быстрее. В сложных случаях рекомендую реализовывать в виде Хранимых процедур(ХП). Если не знаешь, как с ними работать, думаю, стоит изучить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2004, 19:56 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1578844]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
184ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 503ms |

| 0 / 0 |
