Yo uso:
nConexion = SQLSTRINGCONNECT("DRIVER=SQL
Server;SERVER=NOMBRE_DE_TU_SERVIDOR;UID=NOMBRE_DE_TU_USUARIO;DATABASE=NOMBRE_DE_TU_BASEDEDATOS;PWD=TU_PASSWORD;"
y anda como chicotazo.
Pero repito...dale para adelante con el framework de los muchachos.
Saludos.
-----Mensaje original-----
De: [email protected] [mailto:[email protected]] En nombre de pablo.oviedo
Enviado el: jueves, 26 de julio de 2012 08:14 p.m.
Para: GUFA List Member
Asunto: [GUFA] SQL SERVER
Muchas Gracias!!
Una consulta, que conviene usar ADO o ODBC?
saludos.
-----Original Message-----
From: "Alejandro Paciotti Iacchelli" <[email protected]>
To: "GUFA List Member" <[email protected]>
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.
>