SaveNodeList:TStringList;ADOTableNode.Locate('ID',SaveNodeList.Strings[N],[loCaseInsensitive]);   
上面这一句永远返回False,将SaveNodeList.Strings[N]换成SaveNodeList中的字符串即可!!! 
如ADOTableNode.Locate('ID','Node1',[loCaseInsensitive]);
请问这是怎么回事???

解决方案 »

  1.   

    SaveNodeList.Strings[N]取来的值有问题吧
    用ShowMessgae(SaveNodeList.Strings[N])看一下是什么?
      

  2.   

    就是萨,调试一哈不就知道了,看一下SaveNodeList.Strings[N]里面究竟取出来的是不是正确的值
      

  3.   

    同意楼上的,用ShowMessage看一下值是否与你预期的一样。
      

  4.   

    showmessage(SaveNodeList.Strings[N])没问题,是我要的东西。自己搞定
    ADOTableNode.Locate('ID',trim(SaveNodeList.Strings[N]),[loCaseInsensitive]); 
    这样就可以了但我也不知道是为什么,SaveNodeList中的字符也没有空格啊,为什么还得trim
      

  5.   

    用ShowMessage是看不出来有没有空格的,
    你可以使用ShowMessage('S' + SaveNodeList.Strings[N] + 'E');看一下两边究竟有没有空格。
      

  6.   

    楼上说得有理我觉得可能是SaveNodeList.Strings[N]后有一个回车
    因为SaveNodeList中的内容是通过SaveNodeList.Add()加加进去的
    而Add每次都是把其内容加到SaveNodeList的末尾
      

  7.   

    顺便再问个问题:TreeView显示数据库信息
    怎么在改变数据库信息的同时来更新TreeView?