Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

tquery dbase


Страницы:   1 2

Niktar ©   (2009-04-29 00:12:00) 

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


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

> Niktar   (29.04.09 01:57) [19]

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


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

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


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


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


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

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 01:43:00) [4]


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

Хм. Не понял.


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


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

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


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

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


KilkennyCat   (2009-04-29 01:24:00) [7]


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


как это нет?!


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


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

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


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

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


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

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


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

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


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

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

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


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


> 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;


KilkennyCat   (2009-04-29 01:05:00) [14]


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

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


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

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


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

три поля
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;


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

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

2
> Niktar   (29.04.09 00:12)

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


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

Запутался.

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:37:00) [19]

> Niktar   (29.04.09 00:31) [2]

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо