Форум: "Базы";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
ВнизПоиск с сортировкой Найти похожие ветки
← →
ПикулевЕвгений (2002-04-08 05:57) [0]Необходимо в таблице DBGrid показать заправки >20 литров, по выбранному номеру АЗС и номеру смены, затем показать в отдельном пункте общее количество заправок.
Я пишу следующее:
Query1.SQL.Text:="select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20";
Query1.ExecSQL;
В таблице ничего не меняется, что делать?
← →
fnatali (2002-04-08 06:49) [1]Проверь, существует ли связь между Qquery1,DataSource и DBGrid?
Если да, то попробуй написать select... в свойстве SQL самого Query1 и установить свойство Active в True. Для начала можно даже записать select ... без условия where.
Проверь, есть ли у тебя в таблице aaa.dbf такие данные, которые ты надеешься выбрать.
← →
ПикулевЕвгений (2002-04-08 08:56) [2]Связь у всех есть через DataSourse1 и Table1, вставляю в саму SQL select... и включаю activ=true все работает нормально, но желаемого результата нет.
← →
Alexandr (2002-04-08 09:00) [3]Query1.open;
← →
ПикулевЕвгений (2002-04-08 10:12) [4]Query1.open;
Молчит DBGrid даже не шевелится.
Ну ктонибудь помогите!
← →
MCFire (2002-04-08 10:18) [5]Попробуй сначала закрыть набор Query.Close звтем выполни запрос а потом опять открой Query.Open.
← →
MCFire (2002-04-08 10:22) [6]P.S. Перед выполнением запроса очисть SQL Короче код будет такой:
Query.Close;
Query.SQL.Clear;
Query.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query.ExecQuery;
Query.Open;
← →
MCFire (2002-04-08 10:26) [7]Упс извеняюсь Вместо Query.ExecQuery надо Query.ExecSQL
← →
Alexandr (2002-04-08 10:26) [8]как это
ExecQuery а потом Open.
Люди, думайте хоть иногда чего вы тут пишите. И если не знаете, то не пишите всякий бред.
А Пикулеву Евгению можно порекомендовать посмотреть примеры работы с базами данных в Demo, которые идут вместе с Delphi.
← →
Johnmen (2002-04-08 10:27) [9]Как было сказано, надо корректно прописать свойства...
DBGrid1.DataSource->DataSource1.DataSet->Query1
← →
MCFire (2002-04-08 10:30) [10]> Alexandr
Ну может ты и прав Open может и не надо но это не смертельно
← →
Ramil (2002-04-08 10:31) [11]ExecSQL обрабатывает только запросы, которые не возвращают DataSet"ы (типа INSERT, DELETE и т.д.). Для SELECT надо либо
Query1.open, либо Query1.Active:=True;
← →
Alexandr (2002-04-08 10:36) [12]2MCFire: Ну это уже слишком. По количеству написанного бреда в этой конференции ты на первом месте
← →
ПикулевЕвгений (2002-04-08 10:42) [13]Выполнил все действия как сказал MCFire, выдается ошибка "cannot perform this operation on an open dataset"
← →
Johnmen (2002-04-08 10:46) [14]В какой момент выдается-то ?
← →
gek (2002-04-08 10:49) [15]
Query.Active:=false;
Query.SQL.Clear;
Query.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query.Active:=true;
← →
Alexandr (2002-04-08 10:50) [16]2ПикулевЕвгений: А ты б его поменьше слушал.
Давай так.
приведи тут текст- как у тебя написано, мы посмотрим и скажем как надо было написать, чтоб все работало. Там же все очень просто, а мы тут уже пол для гадаем...
← →
MCFire (2002-04-08 10:51) [17]Народ ну я не знаю я написл вон тот код и у меня всё работает...
← →
MCFire (2002-04-08 10:54) [18]Alexandr Попрошу не хамить я с этими базами уже 4 года работаю
← →
MCFire (2002-04-08 11:14) [19]Alexandr кстати без Open работать не будет.Я проверил так что у меня всё правильно
Query.Close;
Query.SQL.Clear;
Query.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query.ExecІЙД;
Query.Open;
← →
MCFire (2002-04-08 11:14) [20]Alexandr кстати без Open работать не будет.Я проверил так что у меня всё правильно
Query.Close;
Query.SQL.Clear;
Query.SQL.Add("select Cod_AZS,Shnum,Volum from "aaa.dbf" where Volum>20");
Query.ExecSQL;
Query.Open;
← →
ПикулевЕвгений (2002-04-08 11:16) [21]
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
← →
Alexandr (2002-04-08 11:20) [22]конечно, без Open работать не будет. Тут ExecSQL лишнее.
Поэтому и ошибка выдается.
← →
MCFire (2002-04-08 11:23) [23]Сначала Exec а потом Open вот и ошибка в этом
← →
Fareader (2002-04-08 11:24) [24]Убери Query1.ExecSQL.
Напиши что у тебя в свойстве Datasource Grid`a написано,
К какому Datasource подключен Query1?
← →
ПикулевЕвгений (2002-04-08 11:26) [25]ошибки нет но DBGrid не отображает нужной информации
← →
dim- (2002-04-08 11:27) [26]и посмотри нет ли в гриде настроенных на другие поля колонок :)
← →
MCFire (2002-04-08 11:30) [27]ПикулевЕвгений Он вобще ничего не отображает или не выполняет запрос???
← →
Alexandr (2002-04-08 11:32) [28]в гриде самый левый столбец( серый, узкий) там треугольник появляется?
← →
Fareader (2002-04-08 11:41) [29]Еще раз:
1. Напиши что у тебя в свойстве Datasource Grid`a написано.
2. К какому Datasource подключен Query1?
← →
ПикулевЕвгений (2002-04-08 12:15) [30]В гриде отображается вся несортированная таблица Table1, и треугольник там есть, послевыполнения кода ни чего не меняется.
У меня один datasourse1 и Query и Grid подключен к нему, в свою очередь datasourse подключен к table1 (aaa.dbf)
← →
Alexandr (2002-04-08 12:23) [31]слушай, ты что, издеваешься над нами?
Ты же говорил, что у тебя в гриде нихрена нет ?!
Чего же после выполнения кода должно меняться? Этот код как раз и показывает результат запроса в гриде.
← →
Fareader (2002-04-08 12:30) [32]Я чего-то не понял ты запрос выполняешь в квери, а хочешь чтобы результат показывался в гриде, который подключен к тейбл ?!!!????
Ты можешь переписать конкретно
1. Напиши что у тебя в свойстве Datasource Grid`a написано.
2. К какому Datasource подключен Query1?
прямо из объект инспектора?
← →
MCFire (2002-04-08 12:35) [33]Тебе надо dataSource подключить к Query, а грид подключить к DataSource Это ж элементарно...
← →
roottim (2002-04-08 13:04) [34]>MCFire загляни в хелп там все по ExecSQL написано и не спорь с Alexandr ©? он прав!
>ПикулевЕвгений Query и Table это разные НД (наборы данных)
если ты используеш Table то нужно использовать фильтр, если Query , как ты приводиш.
только для каждого НД нужен свой DataSource и соотв-но в грид ты подключаеш тот DS который тебе нужен!
← →
ПикулевЕвгений (2002-04-08 13:04) [35]1.В свойствах DataSourse Grid и Query стоит DataSourse1.
2. Что нужно поставить в Dataset компонента DataSourse1.
3. Нужно ли использовать объект TTable для связи Grid с Datasourse, если нет то что нужно использовать. При отсутствии Table в отображении Грида все исчезает.
MCFire: может я скину тебе весь код посмотришь и скажешь чем помочь?
← →
Alexandr (2002-04-08 13:06) [36]все. Хана.
← →
MCFire (2002-04-08 13:09) [37]Давай скинь...Я исправлю и верну
← →
ПикулевЕвгений (2002-04-08 13:15) [38]Alexandr © Почему?
MCFire Я скинул на ящик
← →
Fareader (2002-04-08 13:16) [39]М-да, случай тяжелый и запущеный...
Изучайте книги по работе с БД в Delphi.
← →
MCFire (2002-04-08 13:19) [40]А вообще-то можно так
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;
Если не поможет пришли исходники
← →
MCFire (2002-04-08 13:23) [41]Пришло щас посмотрю подожди
← →
fnatali (2002-04-08 13:26) [42]У тебя на форме Query1,DataSource1 и DBGrid1
DataSource1.DataSet - выбери там Query1
DBGrid1.DataSource1 - выбери DataSource1
Query1.active поставь в true и смотри результат
← →
Johnmen (2002-04-08 13:30) [43]>MCFire : Если человек упорно не желает читать книги по работе с БД в Delphi, то есть заниматься самообучением, то тебе , конечно, просто необходимо написать за него его прогу...
Желаю удачи !
← →
MCFire (2002-04-08 13:35) [44]Всё принимай почту я всё сделал
← →
ПикулевЕвгений (2002-04-08 13:37) [45]Qury1 в DataSet не встает.
>Johnmen © Были бы книги, сам бы с удовольствием разобрался а так методом тыка приходится, ((.
← →
ПикулевЕвгений (2002-04-08 13:39) [46]Мужики подскажите где еще можно хороший хелп по базам с Дельфи найти!
← →
Alexandr (2002-04-08 13:42) [47]нет. Это не метод тыка.
Метод тыка, это когда сам до всего доходишь.
К тому-же в интернете информации на эту тему валом. И книги не надо.
А тебя просто принципиально ломает до чего либо доходить самому, искать, пробовать а это уже клиника.
← →
Anatoly Podgoretsky (2002-04-08 13:43) [48]MCFire (08.04.02 13:19)
Что здесь делают две эти строчки?
Query.ExecSQL;
Query.Open;
← →
fnatali (2002-04-08 13:49) [49]>Qury1 в DataSet не встает.
Как это - "не встаёт"? :))))
Там список выбора, и если у тебя Query1 на этой же форме расположен - то тебе нужно щёлкнуть левой кнопкой мышки с правой стороны свойства DataSet у компонента DataSource1. затем в списке выбрать Query1.
← →
MCFire (2002-04-08 14:03) [50]Так работает или нет???
← →
VAleksey (2002-04-08 14:09) [51]Ну ни фига себе чего тут делается ....
> moderator можь удалить нафиг эту ветку или в раздел треп переместить.
А вообще просто феноменально ! Я такого не слышал никогда !ъ
> ПикулевЕвгений у тебя делфи вообще есть ? Если есть то куда хелп то мог дется ? Какого хелпа тебе еще надо
> MCFire присоединяюсь к тому,что это полная фигня писать Query1.execSql; а потом Query1.Open.
Это делается только в случае если не известно какого вида запрос, и то нужно одну из строк включать в защищенный блок. Иначе ошибка неминуема
← →
Alexandr (2002-04-08 14:19) [52]http://www.metalweb.ru/forum/read.php?f=14&i=33&t=33
посмотрите. Примерно похоже на этот тред. Прикольно
← →
arhelon (2002-04-08 14:35) [53]2 Alexandr ©
А чё ты ругаешься моно скопировать ентот разговор и послать куданюдь в компюмор моно и 1 место отхватить. :))
← →
arhelon (2002-04-08 14:42) [54]2 Alexandr © Ссылка рулез !!!!!!!!!!
← →
Севостьянов Игорь (2002-04-08 16:17) [55]Дааа, ребята, ну вы тут наворотили...
Нет чтоб сразу ответить по делу...
Я просто в шоке писать "SELECT" и при этом "ExecSQL"
Ну, блин, книги прежде читать надо, а потом за программирование браться или хоть {DELPHI}\Demos глянуть...
← →
Val (2002-04-08 16:33) [56]"IronHawk Returns..."
← →
VAleksey (2002-04-09 07:00) [57]присоединяюсь !!!!!!!!!!!!!!
2 Alexandr © Ссылка рулез !!!!!!!!!!
← →
Alexandr (2002-04-09 07:04) [58]закиньте эту ссылку в "потрепаться", а то меня туда заглядывать ломает. Пусть и другие посмеются...
← →
Sandra (2002-04-19 21:19) [59]Идиоты
← →
Boo (2002-04-20 18:36) [60]Согласен с последним возражением! :-))
Страницы: 1 2 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.16;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.007 c