Ver Mensaje Individual
  #23 (permalink)  
Antiguo 11/07/2005, 16:21
Avatar de Neuron_376
Neuron_376
 
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 20 años
Puntos: 2
Ves.... ??

Todo es culpa tuya, porque no explicas bien desde el principio pues ??? jajajaja... es broma, pero en ningun momento estoy usando recordset dinamicos.

Bueno, de hecho mi idea no es mantener los recordset, para nada... repitiendo, falta tanto que depurar, que bueno, de hecho tal como lo escribi hace n delete, ahi mismo mencione un cambio, dejar el delete al final, etc.

Entonces bueno, depurando un poco....

Código PHP:

strCatOriginal 
"0"
blnSeguir true
strID 
strCatOriginal
strFin 
""
do while blnsegur
    strSQL 
"SELECT loquesea FROM tabla WHERE padre in (" strID  ")"
    
Set rs ObjConn.Execute(strSQL)
    
strID ""
    
if not rs.eof then
        
do while not rs.EOF
            strID 
strID rs(0) & ","
        
loop
                     
                         strFin 
strFin strID
          
                        
'Cierras el RS, no se necesita guardar para nada
                        rs.close
    else
        '
fin
                         blnSeguir 
False
    end 
if

            
'Liberar RS, no se necesita guardar para nada
            set rs = nothing
loop

'
Correcion de la coma
if len(strFin) > 0 then
  strFin 
left(strFinlen(strFin) - 1)
end if

delete from tabla where padre in strFin ) or CatID strCatOriginal
strSQL 
"delete FROM tabla WHERE padre in (" strFin ") or CatID = " strCatOriginal

set rs 
ObjConn.Execute(strSQL)
set rs nothing 
Así sería más o menos ya depurado, no guardas los rs, y en una cadena vas guardando solamente la coleccion de hijos de una categoria original.

Revisando el algoritmo que pusiste, lo que habias cambiado, es esto:

strSQL = "SELECT loquesea FROM tabla WHERE padre = "& strID

Y de acuerdo a lo que yo puse es:

strSQL = "SELECT loquesea FROM tabla WHERE padre in (" & strID & ")"

Así que ya veo porque decias que solamente lo hacía a un nivel, por la falta del IN, ademas que hubiera dado error claro, pruebalo ahora con el IN, el IN es necesario, y de esa forma si funciona.

Bueno, ya estamos de acuerdo, espero...

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com