Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
ВнизНесколько запросов в 1-м TQuery Найти похожие ветки
← →
www (2003-12-18 16:53) [0]Это возможно?:)
← →
stone (2003-12-18 16:55) [1]Возможно
← →
Rem (2003-12-18 16:56) [2]2 stone ©
не прикалывайся с человека
2 www
используй несколько компонентов TQuery - каждый со своим запросом
← →
Ega23 (2003-12-18 17:00) [3]
> не прикалывайся с человека
Собственно, запросов-то можно сколько угодно, вот DataSet вернуться один должен...
← →
Rem (2003-12-18 17:14) [4]2 Ega23 ©
:)
Один запрос - один DataSet...
Второй запрос - второй DataSet...
"Один крокодил, два крокодила... пятьсот восемдесят шесть крокодилов..." (С) Фукс
← →
sniknik (2003-12-18 17:19) [5]www (18.12.03 16:53)
не слушай никого (кроме stone © (18.12.03 16:55) [1])
это и возможно и рекордсетов будет столько сколько запросов. жаль с кладовки програмка удалилась а то б ссылочку дал, проверил бы.
(кладовку судя по всему обновляли (скрипты, там теперь, количество скачиваний показывает), но во кое чего порушилось. :((
хотя и так можеш в Query Analizer-е.
← →
Ega23 (2003-12-18 17:23) [6]
> Один запрос - один DataSet...
> Второй запрос - второй DataSet...
АSet Nocount ON/OFF
как же?
← →
me (2003-12-18 18:13) [7]> sniknik © (18.12.03 17:19) [5]
Разве BDE такое позволяет?
← →
sniknik (2003-12-18 18:39) [8]me (18.12.03 18:13) [7]
не знаю как кто а я про ADO. ;о)
про BDE просто не знаю, могу предположить что нет (по коственным данным, но вдруг ошибаюсь?).
← →
me (2003-12-18 18:47) [9]А разве TQuery - так у автора вопроса - работает через ADO?
← →
sniknik (2003-12-18 18:51) [10]ну если быть особо придирчивым то
> Несколько запросов в 1-м TQuery
да без проблем вот два, в одном
SELECT * FROM Table1
SELECT * FROM [Table]
в BDE SQL Explorer не ругается но и рекордсет только один выдает, ну в общем то и правильно, насколько знаю dbiNextRecordSet функции нет. ;о))
но ведь можно несколько то. ;о))
← →
me (2003-12-18 19:00) [11]Человеку (автору поста) вроде ехать надо, а не шашечки на борту машины...
← →
Johnmen (2003-12-18 21:43) [12]>sniknik © (18.12.03 18:51)
Возможно запросы имелись в виду не только select...:)
И, кстати, в случае БДЕ при определенных условиях можно несколько запросов, но не НД...
← →
GUEST (2003-12-18 23:28) [13]а как на счет вложенных запросов?
← →
Sergey13 (2003-12-19 08:47) [14]Если надо несколько insert/update/delete в одной транзакции, то в библиотеке Rx есть хороший компонет SQLScript. Рекомендую.
← →
Ega23 (2003-12-19 09:56) [15]А вообще-то что мешает на каждый запрос свой TQuery положить? Так вроде проще.
← →
alex-xx (2003-12-19 10:20) [16]to Ega23
И создавать несколько переменных класса TQuery? (проще, а если надо экономить ресурсы...)
надобы уточнить вопрос. Какие именно запросы?
в одном Qvery например:
- запрос можно формировать динамически (и иметь разные запросы при разных обстоятельствах)
- можно использовать UNION (и иметь один из нескольких SELECT один НД на выходе(правда SELECTы должны возвращать одинаковые по структуре данные))
- в конце-концов можно перенести все это хозяйство на сторону сервера в виде ХП.
← →
sniknik (2003-12-19 10:30) [17]чего только люди не придумают лиш бы ADO не учить... ;о))
← →
Sandman25 (2003-12-19 10:30) [18]Неужели никто не использует Database.Execute?
Если лень возиться с самостоятельным созданием параметров, можно использовать Query, у которого динамически менять SQL.
← →
Ega23 (2003-12-19 10:45) [19]
> to Ega23
> И создавать несколько переменных класса TQuery? (проще,
> а если надо экономить ресурсы...)
Я обычно на каждый грид свой отдельный кверь в дизайн-тайме создаю. Плюс несколько для динамического исполнения. А ресурсы экономить - надо просто запросы эти вовремя закрывать.
← →
hirlik (2003-12-19 11:07) [20]to Ega23
Если существует необходимость наблюдать все гриды одновременно, то естественно - по DataSet на грид
По поводу ресурсов - я имел ввиду не освобождение от результата работы запроса, а освобождение от переменных класса ТQuery
← →
Ega23 (2003-12-19 11:13) [21]
> По поводу ресурсов - я имел ввиду не освобождение от результата
> работы запроса, а освобождение от переменных класса ТQuery
Это понятно, но они, вроде, не так уж много "весят".
> to Ega23
> Если существует необходимость наблюдать все гриды одновременно,
> то естественно - по DataSet на грид
Ещё в дизайн-тайме можно вид этого грида настроить - ширина колонок, фонты и т.п.
← →
Sandman25 (2003-12-19 11:14) [22]>Ещё в дизайн-тайме можно вид этого грида настроить - ширина колонок, фонты и т.п.
Это и в run-time настроить можно.
← →
Ega23 (2003-12-19 11:18) [23]
> Это и в run-time настроить можно.
Можно. Но сложнее. А, забыл: ещё поля вычисляемые есть.
← →
Sergey13 (2003-12-19 11:19) [24]2Sandman25 © (19.12.03 11:14) [22]
>Это и в run-time настроить можно.
Но геморойно-о-о-о!!! 8-)
← →
Sandman25 (2003-12-19 11:23) [25][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)
Очень удобно, если один грид используется для отображения нескольких наборов данных. Можно вообще своего наследника написать.
← →
Ega23 (2003-12-19 11:30) [26]
> Sandman25 © (19.12.03 11:23) [25]
Да я не спорю, вещь удобная
Можно вообще без формы всё сваять динамически, только смысл?
← →
Sandman25 (2003-12-19 11:36) [27][26] Ega23 © (19.12.03 11:30)
Смысл только один - экономия ресурсов за счет создания одного экземпляра объекта вместо нескольких. То есть обычно смысла нет :)
← →
Sergey13 (2003-12-19 11:41) [28]2Sandman25 © (19.12.03 11:23) [25]
Да я не спорю что можно. Но...
На хрена это надо? Если проект достаточно большой, то выигрыш от "динамики" съедается ненастроенностью (или тяжелой настраиваимостью) отдельных сиквелов (вопрос по сиквелы вроде был а не про гриды)+количество самописного кода разрастается на глазах(а значит и потенциальных ошибок). Сопровождать такой чужой проект - вообще ж... Отыскивать где и когда кто-то устанавливает ширину колонки - бр-р-р-р. Я уж лучше мышкой на форме раздвину. 8-)
Конечно если рассматривать какие то конкретные таблички (простенькие справочники например), то путь не тупиковый. Но как общий принцип - увольте.
ЗЫ:Вот интересно на сколько "утяжеляется" прога при использовании одного "лишнего" экземпляра TQuery? Никто не мерял?
← →
Ega23 (2003-12-19 11:47) [29]
>
> ЗЫ:Вот интересно на сколько "утяжеляется" прога при использовании
> одного "лишнего" экземпляра TQuery? Никто не мерял?
Если он ОТКРЫТ, и запросик "тяжелый", то может прилично утяжелиться. У меня до метра вырастала (приблизительно, конечно).
← →
Sergey13 (2003-12-19 11:57) [30]2Ega23 © (19.12.03 11:47) [29]
Это понятно. Я про "пустой" экземпляр без учета текста сиквела.
← →
Ega23 (2003-12-19 11:59) [31]
> Это понятно. Я про "пустой" экземпляр без учета текста сиквела
Я думаю, копейки.
← →
Sergey13 (2003-12-19 12:02) [32]2Ega23 © (19.12.03 11:59) [31]
Я тоже.
← →
KSergey (2003-12-19 12:11) [33]Ау, люди!
Вы о чем?
Автора перечитайте ;) А то начали опять пальцы гнуть...
Автору: так какие компоненты доступа используем и допустим ли переход на ADO? Там ответ на поставленный вопрос - да.
Впрочем, еще уточните какого рода "несколько запросов"
← →
www (2004-01-08 17:15) [34]BDE
Не ADO:)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.009 c