![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несколько запросов в 1-м TQuery [D6, MSSQL]
www © (2003-12-18 16:53:00)
Это возможно?:)
www (2004-01-08 17:15:00) [1]
BDE
Не ADO:)
KSergey (2003-12-19 12:11:00) [2]
Ау, люди!
Вы о чем?
Автора перечитайте ;) А то начали опять пальцы гнуть...
Автору: так какие компоненты доступа используем и допустим ли переход на ADO? Там ответ на поставленный вопрос - да.
Впрочем, еще уточните какого рода "несколько запросов"
Sergey13 (2003-12-19 12:02:00) [3]
2Ega23 © (19.12.03 11:59) [31]
Я тоже.
Ega23 (2003-12-19 11:59:00) [4]
> Это понятно. Я про "пустой" экземпляр без учета текста сиквела
Я думаю, копейки.
Sergey13 (2003-12-19 11:57:00) [5]
2Ega23 © (19.12.03 11:47) [29]
Это понятно. Я про "пустой" экземпляр без учета текста сиквела.
Ega23 (2003-12-19 11:47:00) [6]
>
> ЗЫ:Вот интересно на сколько "утяжеляется" прога при использовании
> одного "лишнего" экземпляра TQuery? Никто не мерял?
Если он ОТКРЫТ, и запросик "тяжелый", то может прилично утяжелиться. У меня до метра вырастала (приблизительно, конечно).
Sergey13 (2003-12-19 11:41:00) [7]
2Sandman25 © (19.12.03 11:23) [25]
Да я не спорю что можно. Но...
На хрена это надо? Если проект достаточно большой, то выигрыш от "динамики" съедается ненастроенностью (или тяжелой настраиваимостью) отдельных сиквелов (вопрос по сиквелы вроде был а не про гриды)+количество самописного кода разрастается на глазах(а значит и потенциальных ошибок). Сопровождать такой чужой проект - вообще ж... Отыскивать где и когда кто-то устанавливает ширину колонки - бр-р-р-р. Я уж лучше мышкой на форме раздвину. 8-)
Конечно если рассматривать какие то конкретные таблички (простенькие справочники например), то путь не тупиковый. Но как общий принцип - увольте.
ЗЫ:Вот интересно на сколько "утяжеляется" прога при использовании одного "лишнего" экземпляра TQuery? Никто не мерял?
Sandman25 (2003-12-19 11:36:00) [8]
[26] Ega23 © (19.12.03 11:30)
Смысл только один - экономия ресурсов за счет создания одного экземпляра объекта вместо нескольких. То есть обычно смысла нет :)
Ega23 (2003-12-19 11:30:00) [9]
> Sandman25 © (19.12.03 11:23) [25]
Да я не спорю, вещь удобная
Можно вообще без формы всё сваять динамически, только смысл?
Sandman25 (2003-12-19 11:23:00) [10]
[24] Sergey13 © (19.12.03 11:19)
Пример:
function TfrReports.AddColumn(const AFieldName, ACaption: string; CharCount: integer; AWordWrap: boolean = false): TColumnEh;
var
NewWidth: integer;
begin
Result := dgData.Columns.Add;
with Result do
begin
FieldName := AFieldName;
Title.Caption := ACaption;
NewWidth := CharCount*FOneCharWidth;
if NewWidth <> 64 then
Width := NewWidth
else
Width := 65;
WordWrap := AWordWrap;
end;
end;
AddColumn("acount","Количество", 6)
Очень удобно, если один грид используется для отображения нескольких наборов данных. Можно вообще своего наследника написать.
Sergey13 (2003-12-19 11:19:00) [11]
2Sandman25 © (19.12.03 11:14) [22]
>Это и в run-time настроить можно.
Но геморойно-о-о-о!!! 8-)
Ega23 (2003-12-19 11:18:00) [12]
> Это и в run-time настроить можно.
Можно. Но сложнее. А, забыл: ещё поля вычисляемые есть.
Sandman25 (2003-12-19 11:14:00) [13]
>Ещё в дизайн-тайме можно вид этого грида настроить - ширина колонок, фонты и т.п.
Это и в run-time настроить можно.
Ega23 (2003-12-19 11:13:00) [14]
> По поводу ресурсов - я имел ввиду не освобождение от результата
> работы запроса, а освобождение от переменных класса ТQuery
Это понятно, но они, вроде, не так уж много "весят".
> to Ega23
> Если существует необходимость наблюдать все гриды одновременно,
> то естественно - по DataSet на грид
Ещё в дизайн-тайме можно вид этого грида настроить - ширина колонок, фонты и т.п.
hirlik (2003-12-19 11:07:00) [15]
to Ega23
Если существует необходимость наблюдать все гриды одновременно, то естественно - по DataSet на грид
По поводу ресурсов - я имел ввиду не освобождение от результата работы запроса, а освобождение от переменных класса ТQuery
Ega23 (2003-12-19 10:45:00) [16]
> to Ega23
> И создавать несколько переменных класса TQuery? (проще,
> а если надо экономить ресурсы...)
Я обычно на каждый грид свой отдельный кверь в дизайн-тайме создаю. Плюс несколько для динамического исполнения. А ресурсы экономить - надо просто запросы эти вовремя закрывать.
Sandman25 (2003-12-19 10:30:00) [17]
Неужели никто не использует Database.Execute?
Если лень возиться с самостоятельным созданием параметров, можно использовать Query, у которого динамически менять SQL.
sniknik (2003-12-19 10:30:00) [18]
чего только люди не придумают лиш бы ADO не учить... ;о))
alex-xx (2003-12-19 10:20:00) [19]
to Ega23
И создавать несколько переменных класса TQuery? (проще, а если надо экономить ресурсы...)
надобы уточнить вопрос. Какие именно запросы?
в одном Qvery например:
- запрос можно формировать динамически (и иметь разные запросы при разных обстоятельствах)
- можно использовать UNION (и иметь один из нескольких SELECT один НД на выходе(правда SELECTы должны возвращать одинаковые по структуре данные))
- в конце-концов можно перенести все это хозяйство на сторону сервера в виде ХП.
Ega23 (2003-12-19 09:56:00) [20]
А вообще-то что мешает на каждый запрос свой TQuery положить? Так вроде проще.