一个执行删除的函数
public void Delete(int specialtyID)
{
  SqlParameter[] parms = DeleteParameter();   //参数列表自己建,只向SQLHelper传递参数,删除操作由SQLHelper完成。
  parms[0].Value = specialtyID;
  SQLHelper.RunProcedure(SQLHelper.EXAM_CONN_STRING,CommandType.StoredProcedure,"sp_Exam_DelSpecialty",out rowsAffected,parms);
}
//构建参数(与上面是分成了两个函数实现的)
private SqlParameter[] DeleteParameter()
{
  parms = new SqlParameter[]{ new SqlParameter("@SpecialtyID",SqlDbType.Int,4)  };
  return parms;
}
现在想用delphi的ADOQuery:
  //query := TADOQuery.Create(nil);
  //query.Connection := conn;
  //query.SQL.Clear;
  //query.SQL.Add('select * from Person where ID = :id');
可是到此用另一个函数给query构建参数列表就困难了,有一个TParameters类还有一个TParameter类,搞糊涂了,并且这两个的构造函数的参数还有点奇怪。请教高手应该怎么写?