name->>>>>DataModule1.Query1.Name建议你改个名,不要和系统冲突一些人在变量名前加类型,如:
var
  sName: string;我是在前面加"v",如:
var
  vName: string;都是为了不和系统命名冲突
你明白了吗?

解决方案 »

  1.   

    语句似乎没问题,你跟一下,看看name得到的什么,是不是的确查不到?
      

  2.   

    procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
    var
        Name: String; 
    begin
        Name := Node.Text;
        with DataModule1.Query1 do
        begin
            Close;
            SQL.Clear;
            SQL.Add('Select 编号,名称,型号,数量,包换期限 from pj');
            SQL.Add('where 名称='''+ Name + '''');
            Open;
        end;
    end;
      

  3.   

    哦,对,记得我有次字段名里用了memo,也是查不到,报很奇怪的错误。
      

  4.   

    TreeView的OnClick事件是在点击Treeview非节点区才触发,选择某节点触发的是
    OnChange事件
      

  5.   

    procedure TForm1.TreeView3Click(Sender: TObject);
    //请和的代码作比较
    begin
      if not Assigned(TTreeView(Sender).Selected) then Exit;
      DataModule1.Query1.Close;
      DataModule1.Query1.SQL.Text := Format(
    'SELECT 编号,名称,型号,数量,包换期限'#13#10 +
    'FROM PJ'#13#10 +
    'WHERE 名称=%s'#13#10, [QuotedStr(TTreeView(Sender).Selected.Text)]);
      try
        DataModule1.Query1.Open;
      except
        ShowMessage('不管我的事');
      end;
    end;
      

  6.   

    在ONCHANGE事件中,行不通. 而ZSWANG的方法是正确的,再次感谢!