Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.006 c
11-1201782909
Elec3C
2008-01-31 15:35
2009.06.21
А баг всё равно есть


15-1239973429
12
2009-04-17 17:03
2009.06.21
Сколько в tMemo можно сунуть информации?


1-1211467578
JanMihail
2008-05-22 18:46
2009.06.21
Компонент на основе TreeView


11-1201874936
Татьяна
2008-02-01 17:08
2009.06.21
программирование для КПК со сканером


2-1240905683
Sowyer
2009-04-28 12:01
2009.06.21
Вопрос по Edit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский