//判断查询条件
    if ys_TreeView.selected.Index=0 then
     begin
         clbz:=0;
         clztbz:=0;
     end;    if ys_TreeView.selected.index =1 then
     begin
         clbz:=1;
         clztbz:=0;
     end;
    if ys_TreeView.selected.Index =2 then
     begin
         clbz:=2;
         clztbz:=1;
     end;    ys_treeview.Selected.DeleteChildren;    //第一层查询
    if ys_TreeView.selected.Level =0 then
     begin
        //查询符合条件的记录
        dm.Database.Connected:=true;
        dm.DataSource.DataSet:=dm.csh_StoredProc;
        csh_DBGridEh.DataSource:=dm.DataSource;        //待处理用户查询储存过程
        //try
          dm.csh_StoredProc.Close;
          //dm.csh_StoredProc.Prepared:=false;
          dm.csh_StoredProc.Params.Clear;
          dm.csh_StoredProc.StoredProcName:='P_YK_csh2CX';
          dm.csh_StoredProc.Params.CreateParam(ftString,'@czgw',ptinput);
          dm.csh_StoredProc.Params.CreatePara(ftinteger,'@czydm',ptinput);
          dm.csh_StoredProc.Params.CreateParam(ftString,'@sbh',ptinput);
          dm.csh_StoredProc.Params.CreateParam(ftinteger,'@clbz',ptinput);
          dm.csh_StoredProc.Params.CreateParam(ftinteger,'@clztbz',ptinput);
          dm.csh_StoredProc.ParamByName('@czgw').Value:='8';
          dm.csh_StoredProc.ParamByName('@czydm').Value:=14;
          dm.csh_StoredProc.ParamByName('@sbh').Value:=null;
          dm.csh_StoredProc.ParamByName('@clbz').Value:=clbz;
          dm.csh_StoredProc.ParamByName('@clztbz').Value:=clztbz; 
          dm.csh_StoredProc.Prepared:=true;
          dm.csh_StoredProc.Open;当选择 ys_TreeView.selected.index =1 可以查到记录
但选择其他的,比如 ys_TreeView.selected.index =0 或 ys_TreeView.selected.index =2
就没有记录返回了。但是如果我先选择ys_TreeView.selected.index =0 可以查到记录
但再选择其他的,比如 ys_TreeView.selected.index =1或 ys_TreeView.selected.index =2
就没有记录返回了。 有谁遇到过这样的怪问题,请帮我解决一下吧!!!1