Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.21;
Скачать: CL | DM;

Вниз

tquery dbase   Найти похожие ветки 

 
Niktar   (2009-04-29 00:12) [0]

Прошу помочь разобраться с компонентом tquery, есть база dbase
на форме грид, который через датасорс выводит данные. К базе подключаюсь с помощью ttable.
В гриде выведена вся таблица, а мне нужно вывести с условием типа .... where name = "abc", подцепил tquery прописал sql.text active в true, но ничего не происходит
пишу так
select * from zavod where name = "abc"


 
Юрий Зотов ©   (2009-04-29 00:24) [1]

1. Почему двойные кавычки?
2. Как подцеплен TQuery?


 
Niktar   (2009-04-29 00:31) [2]

через датасорс, двойные ковычки это пример из книжки


 
Юрий Зотов ©   (2009-04-29 00:37) [3]

> Niktar   (29.04.09 00:31) [2]

1. Это к гриду. А к базе как он подцеплен?
2. В стандарте SQL, насколько помню - апострофы.
3. Хоть какие-нибудь сообщения есть?


 
Niktar   (2009-04-29 00:42) [4]

Запутался.

1. TQuery-> DataSource = DataSource1, а DataSource-> DataSet = Table1

DM.qry1.SQL.Text := "select * from new.db where id = "+""""+"2"+"""";
dm.qry1.active:=true;

никак не реагирует, будто ничего не делаю


 
Германн ©   (2009-04-29 00:47) [5]

Всё же, по-моему двойные кавычки правильно.

2
> Niktar   (29.04.09 00:12)

Сделай простой тестовый пример и приведи его тут. Тогда будет что проверять. И будет надежда на реальную помощь.


 
Niktar   (2009-04-29 00:50) [6]

три поля
id,name,sum

DM.qry1.Close;
dm.qry1.SQL.Clear;
DM.qry1.Active := false;
DM.qry1.SQL.Add("select * from new.db where id = "+""""+"2"+"""");
DM.qry1.Open;
DM.qry1.Active := true;


 
Niktar   (2009-04-29 00:55) [7]

Не могу понять в чем дело, с firebird проще)))
но надо сделать с paradox


 
KilkennyCat ©   (2009-04-29 01:05) [8]


> DM.qry1.Open;
> DM.qry1.Active := true;

не масляное масло?


 
Германн ©   (2009-04-29 01:05) [9]


> Niktar   (29.04.09 00:42) [4]
>
> Запутался.
>
> 1. TQuery-> DataSource = DataSource1, а DataSource-> DataSet
> = Table1
>

Проще для понимания плясать от другой печки.
1. Визуальный компонент TDBGrid показывает то, что даёт ему TDataSource. Следовательно -> DBGrid1.DataSource:=DataSource1;
2. Компонент DataSource1 (TDataSource) должен знать набор данных, которые он помогает показывать в визуальном компоненте, следовательно - DataSource1.DataSet:=Query1;


 
Niktar   (2009-04-29 01:05) [10]

т.е. есть таблица данных

мне нужно вывести в грид не всю таблицу с данными а только данные по запросу.


 
Niktar   (2009-04-29 01:07) [11]

ок, но в таком случае мне нужно как то подцепить базу к query, как?


 
Германн ©   (2009-04-29 01:08) [12]

А после понимания сути связи DB и DBAware компонент поймёшь, что в дизайнере Дельфи порядок строго обратный.


 
Niktar   (2009-04-29 01:09) [13]

все, решил вопрос from new.db .. и все работает, Большое Спасибо ВАМ Юрий Зотов, Германн, KilkennyCat!


 
Германн ©   (2009-04-29 01:10) [14]


> Niktar   (29.04.09 01:05) [10]
>
> т.е. есть таблица данных
>
> мне нужно вывести в грид не всю таблицу с данными а только
> данные по запросу.
>

Нет таблицы. Есть БД.


 
KilkennyCat ©   (2009-04-29 01:24) [15]


> Нет таблицы. Есть БД.


как это нет?!


 
Niktar   (2009-04-29 01:36) [16]

Возвращаюсь на форум, select то работает хорошо, а вот если запись добавить, приходится использовать insert т.к. в dbgrid просто так не добавить запись и dbnavigator не поможет.
как быть?


 
Германн ©   (2009-04-29 01:41) [17]


> Niktar   (29.04.09 01:36) [16]
>
> Возвращаюсь на форум, select то работает хорошо, а вот если
> запись добавить, приходится использовать insert т.к. в dbgrid
> просто так не добавить запись и dbnavigator не поможет.
> как быть?
>

Забудь всё то, что ты знал про TTable.
И читай учебники по работе с БД.


 
Германн ©   (2009-04-29 01:43) [18]


> Niktar   (29.04.09 00:55) [7]
>
> Не могу понять в чем дело, с firebird проще)))
>

Хм. Не понял.


 
Niktar   (2009-04-29 01:57) [19]

DM.qry1.Active := false;
DM.qry1.SQL.Clear;
DM.qry1.SQL.Add("insert into xz.db (Name) values ("xz")");
DM.qry1.Active := true;


запись добавляется но появляется ошибка после DM.qry1.Active := true

error creating cursor handle


 
Игорь Шевченко ©   (2009-04-29 02:15) [20]

Германн ©   (29.04.09 01:41) [17]


> Забудь всё то, что ты знал про TTable.
> И читай учебники по работе с БД.


Негуманно это.


 
Юрий Зотов ©   (2009-04-29 02:21) [21]

> Niktar   (29.04.09 01:57) [19]

Active не имеет никакого отношения к insert/update. В справке по TQuery все разжевано, да еще и с примерами - почему бы не посмотреть?



Страницы: 1 вся ветка

Текущий архив: 2009.06.21;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
9-1179168683
Pa5ha
2007-05-14 22:51
2009.06.21
Джойстик


15-1239829120
Petr V. Abramov
2009-04-16 00:58
2009.06.21
Microsoft Office 2010: первые скриншоты


2-1241610748
dis12345
2009-05-06 15:52
2009.06.21
из какой ячейки вызван DblClick


2-1241512085
bagos
2009-05-05 12:28
2009.06.21
sql запрос с join


15-1239362697
Kolan
2009-04-10 15:24
2009.06.21
Что если создать конференцию «Интерфейс пользователя»?