Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
Кто-нибудь пробовал склеивать результаты запросов в один? <D7:ADO:MSAccess> Смысл такой:[/ color] хочу сделать SELECT по нескольким таблицам, запрос - один, таблицы перебираються в цикле. Окончательный результат накопить в DBGrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 11:48 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
а про union не слышал? именно для этого и предназначен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 11:49 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
Блин, а как его применить в цикле??? Куда его пыхнуть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 12:27 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
qReservate.SQL.Clear; qReservate.SQL.Add('SELECT NameTable FROM tTable'); qReservate.Open; qReservate.First; qHardWare.SQL.Clear; while not qReservate.Eof do begin strSQL :='SELECT * FROM ' + qReservate.FieldByName('NameTable').sString; if qHardWare.SQL.Count > 0 then qHardWare.SQL.Add('UNION'); qHardWare.SQL.Add(strSQL); qReservate.Next; end; qHardWare.Open; qHardWare.First; Ну попробуй так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 12:41 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
А, спасибо StarWind, разобрался сам: (Единственное боюсь, если таблиц много - строчка SQL запроса разрастется, как бы чего не вышло плохого) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 12:46 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
А! Ты ужой ответил... Ладно опосля обеда твой вариант погляжу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 12:49 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
<<Единственное боюсь, если таблиц много - строчка SQL запроса разрастется, как бы чего не вышло плохого>> Так и будет из-за ограничений Jet. Когда строк в запросе будет штук 40, появится ошибка "Слишком сложный запрос". Чтобы этого не произошло читай по частям и добавляй в ADODataSet. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 13:01 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
А чем ADODataSet, принципиально отличается от ADOQuery? Ну запишу в CommandText тот же запрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 14:21 |
|
||
|
склеивать результаты запросов в один
|
|||
|---|---|---|---|
|
#18+
Тебе нужен и ADOQuery, и ADODataSet. Разбей свой запрос на N частей (нужно, чтобы N было как можно меньше, тогда будет меньше запросов к базе). Первую часть прочитай с помощью DataSet, потом сделай : ADODataSet1.Connection := nil При этом ADODataSet1.Active должен оставаться true . У тебя получится отсоединеный набор записей. Затем читаешь следующую часть при помощи ADOQuery и добавляешь результат к ADODataSet при помощи Append или AppendRecord и так дальше все части запроса. Ну а потом связывай ADODataSet при помощи DAtaSource с DBGrid-ом как обычно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2003, 15:03 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2005&tid=2116740]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 379ms |

| 0 / 0 |
