Текущий архив: 2002.07.22;
Скачать: 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 вся ветка
Текущий архив: 2002.07.22;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.004 c