Los Foros de ASPTutor.com
Home | Perfil | Registrarse | Temas Activos | Miembros | Buscar | FAQ
Usuario:
Password:
 Todos los Foros
 ADO
 Error: Could not update; currently locked.
 Foro Bloqueado  Tema Bloqueado


Autor Temas
amengon
Starting Member


30 Posts
Mensajes - 20 Dec 2002 :  11:36:44  Ver Perfil  Enviar Email
Hola, en mi aplicacion tengo unos formularios que permiten cambiar tres archivos del servidor por otros.
1. subo los nuevos
2.elimino los viejos del servidor
3.elimino la entrada de la tabla FILES correspondiente al archivo antiguo
4.añado los datos en FILES del nuevo archivo
Para ello utilizo el siguiente codigo:
' Uploading file data
Dim fileUploadedPlan, fileUploadedPrograma, fileUploadedInscripcion
fileUploadedPlan = load.saveToFile ("plan", pathToFilePlan)
fileUploadedPrograma = load.saveToFile ("programa", pathToFilePrograma)
fileUploadedInscripcion = load.saveToFile ("solicitud", pathToFileInscripcion)

' destroying load object
Set load = Nothing

'Creamos un objeto FSO
Dim fso
Set fso=CreateObject("Scripting.FileSystemObject")

' Comprobamos que el archivo PLAN ha sido subido
If fileUploadedPlan=true Then
Dim strSQL0, RS0
Set RS0 = Server.CreateObject("ADODB.Recordset")
RS0.Open "Files", strConn, 3, 3
'Comprobamos si habia antes un archivo programa asociado a la asignatura y lo eliminamos
If idArchivoPlanInput <> "" Then
idArchivoPlanInput=Cint(IdArchivoPlanInput)
RS0.filter="id="&idArchivoPlanInput
'eliminamos del servidor el antiguo archivo de Programa
fileName=RS0("nombre")
Dim f0
'obtener identificadores para la ubicacion actual de los archivos
Set f0=fso.GetFile(Server.MapPath("Files\planesCursoPost\"&fileName))
f0.delete
'Eliminamos su entrada correspondiente en la base de datos
RS0.delete
RS0.MoveNext
End If
' Adding data
RS0.AddNew
RS0("nombre")=fileNamePlan
RS0("ruta")=pathToFilePlan
RS0("tipo")="planCursoPost"
'actualizamos el valor de id
idArchivoPlan=RS0("id")
RS0.Update
RS0.Close
set RS0=nothing
End If

' Comprobamos que el archivo PROGRAMA ha sido subido
If fileUploadedPrograma=true Then
Dim strSQL1, RS1
Set RS1 = Server.CreateObject("ADODB.Recordset")
RS1.Open "Files", strConn, 3, 3
'Comprobamos si habia antes un archivo programa asociado a la asignatura y lo eliminamos
If idArchivoProgramaInput <> "" Then
idArchivoProgramaInput=Cint(IdArchivoProgramaInput)
RS1.filter="id="&idArchivoProgramaInput
'eliminamos del servidor el antiguo archivo de Programa
fileName=RS1("nombre")
Dim f1
'obtener identificadores para la ubicacion actual de los archivos
Set f1=fso.GetFile(Server.MapPath("Files\programasCursoPost\"&fileName))
f1.delete
'Eliminamos su entrada correspondiente en la base de datos
RS1.delete
RS1.MoveNext
End If
' Adding data
RS1.AddNew
RS1("nombre")=fileNamePrograma
RS1("ruta")=pathToFilePrograma
RS1("tipo")="programaCursoPost"
'actualizamos el valor de id
idArchivoPrograma=RS1("id")
RS1.Update
RS1.Close
set RS1=nothing
End If

' Comprobamos que el archivo INSCRIPCION ha sido subido
If fileUploadedInscripcion=true Then
Dim strSQL2, RS2
Set RS2 = Server.CreateObject("ADODB.Recordset")
RS2.Open "Files", strConn, 3, 3
'Comprobamos si habia antes un archivo Inscripcion asociado al curso y lo eliminamos
If idArchivoInscripcionInput <> "" Then
idArchivoInscripcionInput=Cint(IdArchivoInscripcionInput)
RS2.filter="id="&idArchivoInscripcionInput
'eliminamos del servidor el antiguo archivo d Programa
fileName=RS2("nombre")
Dim f2
'obtener identificadores para la ubicacion actual de los archivos
Set f2=fso.GetFile(Server.MapPath("Files\inscripcionesCursoPost\"&fileName))
f2.delete
'Eliminamos su entrada correspondiente en la base de datos
RS2.delete
RS2.MoveNext
End If
' Adding data
RS2.AddNew
RS2("nombre")=fileNameInscripcion
RS2("ruta")=pathToFileInscripcion
RS2("tipo")="inscripcionCursoPost"
'actualizamos el valor de id
idArchivoInscripcion=RS2("id")
RS2.Update
RS2.Close
set RS2=nothing
End If
'destruimos el objeto FileSystemObject
set fso=nothing

Sólo "algunas veces" me da el siguiente error:
Microsoft JET Database Engine error '80040e21'

Could not update; currently locked.

/amena/departamento_psicologia/actualizarcursoPost2.asp, line 316

Esta linea se corresponde con:

RS1.delete
Me puede alguien explicar a que se debe por qué sucede a veces si otras no y porque en otros codigos que he utilizado la misma estructura funciona bien
Gracias

   
 Foro Bloqueado  Tema Bloqueado
Ir a:
Los Foros de ASPTutor.com Los Foros de ASPTutor.com
Ir al principio de la Página

 Imprimir Tema
 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar