两个query查询结果交换值出错,我的这个代码错在何处?
procedure TForm1.TreeView1Click(Sender: TObject);
begin
 Edit1.Text:=treeview1.Selected.Text;
  StatusBar1.Panels[1].Text:=Edit1.Text;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select lev from unit where name like''' +treeview1.Selected.Text+'''');
   ADOQuery1.Open;
   ADOQuery1.First;
     Edit2.Text:=ADOQuery1.FieldValues['lev'].AsString;
    ADOQuery2.Close;
    ADOQuery2.SQL.Clear;
  ADOQuery2.SQL.Add('select 姓名 from ry where lev =''' +Edit2.Text+'''');
   ADOQuery2.Open;
    end;
end.

解决方案 »

  1.   

    这行里的
    select lev from unit where name like''' +treeview1.Selected.Text+''''
    like匹配怎么没有通配符呢检查一下ADOQuery1.FieldValues['lev'].AsString;这句的返回值是否为null
      

  2.   

    這個寫法有問題:
    Edit2.Text:=ADOQuery1.FieldValues['lev'].AsString;
    真確的應該是:
    Edit2.Text:=ADOQuery1.FieldValues['lev'];
      

  3.   

    procedure TForm1.TreeView1Click(Sender: TObject);
    begin
     Edit1.Text:=treeview1.Selected.Text;
      StatusBar1.Panels[1].Text:=Edit1.Text;
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add('select lev from unit where name like''' +treeview1.Selected.Text+'''');
       ADOQuery1.Open;
       if ADOQuery1.RecordCount <> 0 then
       begin
         ADOQuery1.First;
         Edit2.Text:=ADOQuery1.FieldValues['lev'].AsString;
         ADOQuery2.Close;
         ADOQuery2.SQL.Clear;
         ADOQuery2.SQL.Add('select 姓名 from ry where lev =''' +Edit2.Text+'''');
         ADOQuery2.Open;
       end;
     end;
    end.
    ----------------
    沉沦中..........