Por favor ayuda al grabar un registro...

27/06/2006 - 22:48 por Marcos Galaviz | Informe spam
Intento grabar un registro en la tabla y esto es la parte del codigo pero
segun el error esta en el LockType, ¿alguien me puede ayudar?


Set RS_ALTA = Server.CreateObject("ADODB.Recordset")
RS_ALTA.CursorType = adOpenForwardOnly
RS_ALTA.LockType = adLockOptimistic

RS_ALTA.Open "CLIENTES", CONN1
RS_ALTA.addnew

RS_ALTA("NOMBRE")=NOMBRE
RS_ALTA("REPRESENTANTE")=REPRESENTANTE
RS_ALTA("EMAIL")=EMAIL
RS_ALTA("DIRECCION")=DIRECCION
RS_ALTA("CIUDAD")=CIUDAD
RS_ALTA("ESTADO")=ESTADO
RS_ALTA("CP")=CP
RS_ALTA("TEL1")=TEL1
RS_ALTA("TEL2")=TEL2

RS_ALTA.Update
 

Leer las respuestas

#1 Victor B.
28/06/2006 - 01:36 | Informe spam
Si lo haces con ADODB, te recomiendo dos técnicas:
1º - Usa Recordsets desconectados y no uses un cursor adOpenForwardOnly;
este tipo de cursor tiene la ventaja de ser rápido y manejar la información
del Recordset de manera más compacta y rápida pero su propósito es el de
'navegar' hacia a delante y recorrer sus registros a efectos de consulta. En
vez de ello usa el tipo Static y la propiedad LockType establécela a
'adLockBatchOptimistic'. Una vez 'cargado' el cursor anula la propiedad
Connection y trabajas con él. Por último, vuelves a establecer Connection y
llamas al método UpdateBatch en vez de update. Para que esto funcione, el
cursor debe estar del lado del cliente:
*****
Set RS_ALTA = Server.CreateObject("ADODB.Recordset")
RS_ALTA.CursorType = adOpenStatic
RS_ALTA.LockType = adLockBatchOptimistic
RS_ALTA.CursorLocation = adUseClient
CONN1.Open() 'Abres la conexión
RS_ALTA.Open "CLIENTES WHERE ID=0", CONN1 'Cargas el cursor sin registros
RS_ALTA.ActiveConnection = Nothing
CONN1.Close()
RS_ALTA.addnew

RS_ALTA("NOMBRE")=NOMBRE
RS_ALTA("REPRESENTANTE")=REPRESENTANTE
RS_ALTA("EMAIL")=EMAIL
RS_ALTA("DIRECCION")=DIRECCION
RS_ALTA("CIUDAD")=CIUDAD
RS_ALTA("ESTADO")=ESTADO
RS_ALTA("CP")=CP
RS_ALTA("TEL1")=TEL1
RS_ALTA("TEL2")=TEL2


CONN1.Open()
RS_ALTA.ActiveConnection = CONN1
RS_ALTA.UpdateBatch()
CONN1.Close()

2º.- Puedes usar el método Execute del objeto Connection CONN1 para enviar
una instrucción INSERT. Economizas código pero tienes un menor control de
los conflictos que pueda ocasionar la inserción.
Víctor B.
Desarrollador independiente

"Marcos Galaviz" escribió en el mensaje
news:%
Intento grabar un registro en la tabla y esto es la parte del codigo pero
segun el error esta en el LockType, ¿alguien me puede ayudar?


Set RS_ALTA = Server.CreateObject("ADODB.Recordset")
RS_ALTA.CursorType = adOpenForwardOnly
RS_ALTA.LockType = adLockOptimistic

RS_ALTA.Open "CLIENTES", CONN1
RS_ALTA.addnew

RS_ALTA("NOMBRE")=NOMBRE
RS_ALTA("REPRESENTANTE")=REPRESENTANTE
RS_ALTA("EMAIL")=EMAIL
RS_ALTA("DIRECCION")=DIRECCION
RS_ALTA("CIUDAD")=CIUDAD
RS_ALTA("ESTADO")=ESTADO
RS_ALTA("CP")=CP
RS_ALTA("TEL1")=TEL1
RS_ALTA("TEL2")=TEL2

RS_ALTA.Update

Preguntas similares