Procedimiento SQL en Visual Basic
Hola a todos.
He realizado una aplicación en VB 6.0 y al pulsar un botón hace una conexión con una base de datos de oracle y le mando unos parámetros para ejecutar un procedimiento SQL.
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim qryStoredProc As New ADODB.Command
qryStoredProc(0) = ANO_FACTURA
qryStoredProc(1) = MES_FACTURA
qryStoredProc(2) = ANO_MES
qryStoredProc.Execute
El procedimiento en si, me indica el importe de las facturas y dependiento d si son negativas o no, realiza un proceso o no.
Mediante un dbms me muestra los valores y me avisa cuando son negativas (por lo k no realiza el procedimiento).
El tema está en que me han pedido, que cuando haya una factura negativa además de ignorarla le avise al usuario de que existe una factura negativa, y yo no sé como hacer desde el procedimiento que saque un error en visual basic o en el fichero de errores.
Si pueden ayudarme se lo agradecerÃa bastante.
Gracias de antemano
He realizado una aplicación en VB 6.0 y al pulsar un botón hace una conexión con una base de datos de oracle y le mando unos parámetros para ejecutar un procedimiento SQL.
Dim Cn As New ADODB.Connection
Dim Rs As New ADODB.Recordset
Dim qryStoredProc As New ADODB.Command
qryStoredProc(0) = ANO_FACTURA
qryStoredProc(1) = MES_FACTURA
qryStoredProc(2) = ANO_MES
qryStoredProc.Execute
El procedimiento en si, me indica el importe de las facturas y dependiento d si son negativas o no, realiza un proceso o no.
Mediante un dbms me muestra los valores y me avisa cuando son negativas (por lo k no realiza el procedimiento).
El tema está en que me han pedido, que cuando haya una factura negativa además de ignorarla le avise al usuario de que existe una factura negativa, y yo no sé como hacer desde el procedimiento que saque un error en visual basic o en el fichero de errores.
Si pueden ayudarme se lo agradecerÃa bastante.
Gracias de antemano
Yo lo que haria serÃa agregarle un nuevo parametro al procedimiento el cual serÃa una especie de banera. Y el procedimiento en oracle cambia el balor de esta bandera dependiendo si el resultado es positvo o negativo.
Asi al consultar el valor que te devuelve en Visul Basic, puedes sacar la advertencia desde Visul Basic.
Recuerdate que un procedimiento almacenado se esta ejecutando en el servidor, y si logras que el mismo procedimiento saque un mensaje, lo sacaria en el monitor del servidor.
Asi al consultar el valor que te devuelve en Visul Basic, puedes sacar la advertencia desde Visul Basic.
Recuerdate que un procedimiento almacenado se esta ejecutando en el servidor, y si logras que el mismo procedimiento saque un mensaje, lo sacaria en el monitor del servidor.
Rodolfo
No es tan asi la cosa, solo si se usa la instruccion PRINT.
Se esta definiendo un RECORDSET dentro de VB, cualquier cosa que REGRESE el store, que no sea un PRINT, sera alojado en el RECORDSET.
Seria tan simple como que el procedimiento regresara la bandera (bolean) y en VB preguntar por el primera posicion del RECORDSET y tomar la decision correpondiente a dicha bandera.
CREATE PROCEDURE pr_ExisteCliente
@ClienteID INT
AS
SET NOCOUNT ON
IF EXISTS(SELECT CLIENTEID FROM CLIENTE WHERE CLIENTEID = @ClienteID)
RETURN(1)
ELSE
RETURN(0)
En la primera posicion se tendria un UNO, si existe, un CERO, si no existe.
Espero haberme explicado.
No es tan asi la cosa, solo si se usa la instruccion PRINT.
Se esta definiendo un RECORDSET dentro de VB, cualquier cosa que REGRESE el store, que no sea un PRINT, sera alojado en el RECORDSET.
Seria tan simple como que el procedimiento regresara la bandera (bolean) y en VB preguntar por el primera posicion del RECORDSET y tomar la decision correpondiente a dicha bandera.
CREATE PROCEDURE pr_ExisteCliente
@ClienteID INT
AS
SET NOCOUNT ON
IF EXISTS(SELECT CLIENTEID FROM CLIENTE WHERE CLIENTEID = @ClienteID)
RETURN(1)
ELSE
RETURN(0)
En la primera posicion se tendria un UNO, si existe, un CERO, si no existe.
Espero haberme explicado.
