len:=2;   //初值
    ......
    repeat
      with Query do
      begin
        Close();
        SQL.Clear();
        SQL.Add('select * from 部门信息 where LEN(部门编号)=:plength order by 部门编号');
        Prepare();
        ParamByName('plength').AsInteger:=len;  //find the length=father's+2=(level+1)*2
        Open();
...........
len:=len+2;
这是原来的程序
我改用ADOQuery控件后把Prepare();删除了下一句改为:
Parameters.ParamByName('plength').value:=len;就没有问题...但是在录入数据时好像后面多了几个空格...我想是对plength赋值时出的问题....因为len是整型数据....哪位知道原因指点指点!!!!!!!!!!!