Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-50087
IronHawk
2002-03-21 17:05
2002.05.16
Читайте и плачте !


1-49965
DenUp
2002-05-04 23:34
2002.05.16
Помогите....


4-50179
Win32
2002-03-13 19:34
2002.05.16
Как УДАЛИТЬ ключ из реестра, зная его имя?


7-50141
Bobic
2002-02-15 15:59
2002.05.16
Как получить серийный номер мамки ?


3-49891
Gamar
2002-04-20 18:26
2002.05.16
Собственные функции в отчете





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский