![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск с сортировкой [D5, Paradox]
ПикулевЕвгений © (2002-04-08 05:57:00)Необходимо в таблице DBGrid показать заправки >20 литров, по выбранному номеру АЗС и номеру смены, затем показать в отдельном пункте общее количество заправок.
Я пишу следующее:
Query1.SQL.Text:="select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20";
Query1.ExecSQL;
В таблице ничего не меняется, что делать?
MCFire (2002-04-08 13:19:00) [21]А вообще-то можно так
1.Убери из Query DataSource и оставь пустым оно тебе не надо
2.Если у тебя данные первоначально отображаются из Table1, то поставь в DataSource1.DataSet Table1
3.В DBGrid dataSource поставь DataSource1
4.В событие нажатия кнопки на выполнение запроса напиши следующее:
dataSource1.DataSet:=Query;
Query.Close;
Query.SQL.Clear;
Query.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query.ExecSQL;
Query.Open;
Если не поможет пришли исходники
Fareader (2002-04-08 13:16:00) [22]М-да, случай тяжелый и запущеный...
Изучайте книги по работе с БД в Delphi.
ПикулевЕвгений (2002-04-08 13:15:00) [23]Alexandr © Почему?
MCFire Я скинул на ящик
MCFire (2002-04-08 13:09:00) [24]Давай скинь...Я исправлю и верну
Alexandr (2002-04-08 13:06:00) [25]все. Хана.
ПикулевЕвгений (2002-04-08 13:04:00) [26]1.В свойствах DataSourse Grid и Query стоит DataSourse1.
2. Что нужно поставить в Dataset компонента DataSourse1.
3. Нужно ли использовать объект TTable для связи Grid с Datasourse, если нет то что нужно использовать. При отсутствии Table в отображении Грида все исчезает.
MCFire: может я скину тебе весь код посмотришь и скажешь чем помочь?
roottim (2002-04-08 13:04:00) [27]>MCFire загляни в хелп там все по ExecSQL написано и не спорь с Alexandr ©? он прав!
>ПикулевЕвгений Query и Table это разные НД (наборы данных)
если ты используеш Table то нужно использовать фильтр, если Query , как ты приводиш.
только для каждого НД нужен свой DataSource и соотв-но в грид ты подключаеш тот DS который тебе нужен!
MCFire (2002-04-08 12:35:00) [28]Тебе надо dataSource подключить к Query, а грид подключить к DataSource Это ж элементарно...
Fareader (2002-04-08 12:30:00) [29]Я чего-то не понял ты запрос выполняешь в квери, а хочешь чтобы результат показывался в гриде, который подключен к тейбл ?!!!????
Ты можешь переписать конкретно
1. Напиши что у тебя в свойстве Datasource Grid`a написано.
2. К какому Datasource подключен Query1?
прямо из объект инспектора?
Alexandr (2002-04-08 12:23:00) [30]слушай, ты что, издеваешься над нами?
Ты же говорил, что у тебя в гриде нихрена нет ?!
Чего же после выполнения кода должно меняться? Этот код как раз и показывает результат запроса в гриде.
ПикулевЕвгений (2002-04-08 12:15:00) [31]В гриде отображается вся несортированная таблица Table1, и треугольник там есть, послевыполнения кода ни чего не меняется.
У меня один datasourse1 и Query и Grid подключен к нему, в свою очередь datasourse подключен к table1 (aaa.dbf)
Fareader (2002-04-08 11:41:00) [32]Еще раз:
1. Напиши что у тебя в свойстве Datasource Grid`a написано.
2. К какому Datasource подключен Query1?
Alexandr (2002-04-08 11:32:00) [33]в гриде самый левый столбец( серый, узкий) там треугольник появляется?
MCFire (2002-04-08 11:30:00) [34]ПикулевЕвгений Он вобще ничего не отображает или не выполняет запрос???
dim- (2002-04-08 11:27:00) [35]и посмотри нет ли в гриде настроенных на другие поля колонок :)
ПикулевЕвгений (2002-04-08 11:26:00) [36]ошибки нет но DBGrid не отображает нужной информации
Fareader (2002-04-08 11:24:00) [37]Убери Query1.ExecSQL.
Напиши что у тебя в свойстве Datasource Grid`a написано,
К какому Datasource подключен Query1?
MCFire (2002-04-08 11:23:00) [38]Сначала Exec а потом Open вот и ошибка в этом
Alexandr (2002-04-08 11:20:00) [39]конечно, без Open работать не будет. Тут ExecSQL лишнее.
Поэтому и ошибка выдается.
ПикулевЕвгений (2002-04-08 11:16:00) [40]
procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query1.Open;
Query1.ExecSQL;
end;
После нажатия на кнопку выдается ошибка
"cannot perform this operation on an open dataset