![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
tquery dbase
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]через датасорс, двойные ковычки это пример из книжки