Muchas Gracias!! Una consulta, que conviene usar ADO o ODBC?
saludos. -----Original Message----- From: "Alejandro Paciotti Iacchelli" <alejandro.pacio...@gmail.com> To: "GUFA List Member" <GUFA@mug.org.ar> Date: Thu, 26 Jul 2012 17:18:44 -0300 Subject: [GUFA] SQL SERVER > Bueno Pablo, yo uso algo como lo siguiente: > > > > *********************************************************************** > ***** > *************************** > > DEFINE CLASS Pagos AS Custom > > *********************************************************************** > ***** > *************************** > > NumeroError = 0 > > DescripcionError = "" > > > > * nResultado = THISFORM.oPagos.Alta(cComprobante, dFechaPago, > nImporte, cCodigoContrato, nDescuento, cDescripcion, cNumeroRecibo) > > > *********************************************************************** > ***** > *************************** > > PROCEDURE Alta(cComprobante, dFechaPago, nImporte, > cCodigoContrato, > nDescuento, cDescripcion, cNumeroRecibo) > > > *********************************************************************** > ***** > *************************** > > * Recibe las variables y llama al procedimiento almacenado > SP_Alta_PAGOS > > * > > LOCAL nResultado > > nResultado = -1 > > * > > =SQLSETPROP(oAplicacion.Conexion, "Transactions", 2) > > * > > TEXT TO cInstruccionSql NOSHOW PRETEXT 2 > > EXECUTE SP_Alta_Pagos @CodigoContrato = > ?cCodigoContrato, > > @CodigoFormaPago = > ?cCodigoFormaPago, > > @Comprobante = > ?ALLTRIM(cComprobante), > > @FechaPago > =?DTOC(dFechaPago), > > @Importe =?nImporte, > > @Descuento =?nDescuento, > > @Descripcion > =?cDescripcion, > > @NumeroRecibo > =?cNumeroRecibo, > > @CodigoUsuario > =?oAplicacion.CodigoUsuario > > ENDTEXT > > * > > =SQLPREPARE(oAplicacion.Conexion, cInstruccionSql) > > * > > nResultado = SQLEXEC(oAplicacion.Conexion) > > * > > IF nResultado < 0 > > THIS.ParseaError("ALTA Pagos") > > =SQLROLLBACK(oAplicacion.Conexion) > > =SQLSETPROP(oAplicacion.Conexion, "Transactions", > 1) > > > RETURN -1 > > ELSE > > nResultado = 1 > > ENDIF > > > > > > ETC, ETC, ETC … > > > > O bien, para traer un cursor con un listado de PAGOS: > > > > > *********************************************************************** > ***** > *************************** > > PROCEDURE TraerTodos(sNombreCursor) > > > *********************************************************************** > ***** > *************************** > > LOCAL nResultado > > nResultado = -1 > > * > > TEXT TO cInstruccionSql TEXTMERGE NOSHOW PRETEXT 2 > > SELECT FechaPago, CodigoPago, Comprobante, > Descripcion, > Descuento, Importe, NumeroRecibo FROM Pagos > > ENDTEXT > > * > > nResultado = SQLEXEC(oAplicacion.Conexion, cInstruccionSql, > sNombreCursor) > > * > > IF nResultado < 0 > > THIS.ParseaError > > ENDIF > > * > > RETURN nResultado > > * > > ENDPROC > > > > > > Estoy mil por cien seguro que el framework es muchísimo mejor… pero > yo así > saqué las papas del fuego, desarrollé todo rapidito y eficientemente. > > > > Saludos. >