Вниз
Скачать: CL | DM;

TreeView и SQL   Найти похожие ветки 

← →
novi_chok   (2002-06-30 18:23) [0]

Уважаемые Мастера, прошу помощи!
Есть два запроса
Query1 мастер :
SELECT ID_X, NAME_X
(Заполняю TreeView столбцом NAME_X)

Query2 деталь:
SELECT ID_X, ID_Y, NAME_Y
WHERE ID_X = :ID_X
(Отображается в гриде)

Каким образом по выбору TreeView NAME_X
отображать в гриде подчиненные записи
запроса Query2.

Спасибо за помощь!


← →
Polevi ©   (2002-06-30 18:49) [1]

TreeNode.Data:=Pointer(Query1.FieldByName("ID_X").AsInteger)


← →
novi_chok   (2002-06-30 21:57) [2]

Недостаток опыта не позволяет
понять с каким событием это
увязать. Быть может, подробнее!
Окажете неоценимую помощь.
Спасибо!!!


← →
Polevi ©   (2002-07-01 07:45) [3]

(Заполняю TreeView столбцом NAME_X)
TreeNode.Text:=Query1.FieldByName("NAME_X").AsString
TreeNode.Data:=Pointer(Query1.FieldByName("ID_X").AsInteger)

procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(Format("SELECT ID_X, ID_Y, NAME_Y WHERE ID_X=%d",[Integer(Node.Data)]));
Query2.Open;
end;


← →
novi_chok   (2002-07-01 09:28) [4]

Огромное спасибо, Polevi!


← →
novi_chok   (2002-07-01 09:52) [5]

Но все равно не работает.
Выдает сообщение General SQL error
и что-то насчет выражения WHERE.
И еще здесь нет выражения FROM, это так
и нужно? Но не работает и так.
С уважением, novi_chok.




← →
MikeFW   (2002-07-01 16:21) [6]

Уважаемый Polevi
а если у меня две таблицы связаны не по числовому полю, а по полю типа String, подскажите, пожалуйста, как правильно написать эквивалентные выражения:

> TreeNode.Data:=Pointer(Query1.FieldByName("ID_X").AsInteger)
> Query2.SQL.Add(Format("SELECT ID_X, ID_Y, NAME_Y WHERE ID_X=%d",[Integer(Node.Data)]));




← →
Севостьянов Игорь ©   (2002-07-01 17:07) [7]

Например так
TreeNode.Data:=Pointer(Query1.FieldByName("ID_X").AsString)
Query2.SQL.Add(Format("SELECT ID_X, ID_Y, NAME_Y WHERE ID_X=%s",[QuatedStr(Node.Data)]));

Но лучше по числовому полю (а точнее по Primary Key (ID))


← →
Севостьянов Игорь ©   (2002-07-01 17:10) [8]

Sorry забыл вот здесь
Query2.SQL.Add(Format("SELECT ID_X, ID_Y, NAME_Y WHERE ID_X=%s",[QuatedStr(Node.Data)]));

вот так

Query2.SQL.Add(Format("SELECT ID_X, ID_Y, NAME_Y WHERE ID_X=%s",[QuatedStr( PChar(Node.Data) )]));



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
6-70855
ananimous
2002-05-13 15:20
2002.07.22
Сервер-клиент на сокетах


3-70644
NNH
2002-07-01 19:19
2002.07.22
Как считать String из Memo до символа # ?


1-70684
IgaKZ
2002-07-10 19:01
2002.07.22
Проблемы с QReport


3-70663
CyberWarlock
2002-07-02 12:03
2002.07.22
Небольшая проблемка с TDataBase


6-70851
Alexej
2002-05-13 08:10
2002.07.22
Определение продолжительности подключения




   Наверх