SQL->RAISEERROR->VB6

01/04/2005 - 18:12 por Gustavo | Informe spam
Hola Muchachos:

Tengo el problema de que en una aplicacion VB6 no me
captura los errores "fabricados" con RAISEERROR en Stores
Procedures de SQL Server que invoco desde VB6 utilizando
el objeto ADODB.Command

El tema es que invoco el objetoCommand.Execute, ejecuta el
stored procedure pero -a pesar de tener la seguridad de
que el RAISEERROR fue invocado- no me devuelve nada en la
coleccion del objeto VB6->Err ni tampoco en la coleccion
objetoCommand.Activeconnection.Errors

Les mado un ejemplito:

VB6

Private Sub Command1_Click()
On Error Resume Next
Dim lobjCommand As ADODB.Command
Set lobjCommand = New ADODB.Command
With lobjCommand
'//Inicializa comando
.CommandTimeout = 60
.CommandType = adCmdStoredProc
.ActiveConnection = DBSeguridad

'//Ejecuta comando
.CommandText = "_Pruebas"
.Execute
End With
Set lobjCommand = Nothing
End Sub

SQL SERVER

(En este ejemplo se va por el RAISEERROR / RETURN en el
segundo INSERT ya que la longitud del campo que se
pretende insertar es mayor a la definida en la tabla - NO
ME CAPTURA EL ERROR EN VISUAL!!!)

CREATE PROCEDURE _Pruebas
AS
DECLARE @myerror int
DECLARE @mydescerror varchar(100)
INSERT INTO _Test (Test) VALUES ('Texto Uno')
SET @myerror = @@ERROR
IF @myerror <> 0
Begin
SET @mydescerror = 'Se produjo el error: ' + convert
(varchar,@myerror) + ' en la instrucción: INSERT INTO
_Test'
RAISERROR (@mydescerror, 16, 1)
Return 4000
end
que se pretende insertar es mayor a la definida en la tabla
INSERT INTO _Test (Test) VALUES ('Texto Dos
SDFSDFSDFSDFSDFS')
SET @myerror = @@ERROR
IF @myerror <> 0
Begin
SET @mydescerror = 'Se produjo el error: ' + convert
(varchar,@myerror) + ' en la instrucción: INSERT INTO
_Test'
RAISERROR (@mydescerror, 16, 1)
Return 4000
end
INSERT INTO _Test (Test) VALUES ('Texto Tres')
SET @myerror = @@ERROR
IF @myerror <> 0
Begin
SET @mydescerror = 'Se produjo el error: ' + convert
(varchar,@myerror) + ' en la instrucción: INSERT INTO
_Test'
RAISERROR (@mydescerror, 16, 1)
Return 4000
end

Gracias!!
Gustavo.

Preguntas similare

Leer las respuestas

#11 Gustavo
04/04/2005 - 21:03 | Informe spam
Gracias Alejandro. Con tu ejemplo anda fenomeno. Pero lo
que sucede ahora es que quiero usar el objeto command de
VB6 para invocar al Store Procedure y en la propiedad
ActiveConnection no me devuelve la colleccion de errores
que sí devuelve cuando se usa el objeto conexion directo
como lo haces en tu ejemplo. Es necesario que pueda seguir
usando el objeto command vinculado al conexion y no el obj
conexion directamente por el tema de como tengo armado el
aplicativo con commands por todos lados y parametros para
cada uno de ellos. Conoces algun seteo del objeto
adodb.command de visual para que me devuelva la coleccion
de errores como si lo hicieras desde el obj colleccion
directamente ?

Un Abrazo,
Gustavo.

Mostrar la cita
siendo llenada con
Mostrar la cita
ti. Aca te pongo un
Mostrar la cita
ejemplo que pusistes,
Mostrar la cita
@myerror entonces su
Mostrar la cita
concatenacion con NULL
Mostrar la cita
INTO
Mostrar la cita
dara NULL
Mostrar la cita
del test
Mostrar la cita
grated
Mostrar la cita
a
Mostrar la cita
inmediatamante
Mostrar la cita
convert
Mostrar la cita
INTO
Mostrar la cita
binary
Mostrar la cita
el
Mostrar la cita
ver
Mostrar la cita
INTO
Mostrar la cita
en
Mostrar la cita
en
Mostrar la cita
ahora
Mostrar la cita
que
Mostrar la cita
parametro
Mostrar la cita
darte
Mostrar la cita
agrega
Mostrar la cita
el
Mostrar la cita
colecciones
Mostrar la cita
del
Mostrar la cita
de
Mostrar la cita
el
Mostrar la cita
devuelve
Mostrar la cita
se usa
Mostrar la cita
vas a
Mostrar la cita
distintos
Mostrar la cita
(s)
Mostrar la cita
statement
Mostrar la cita
de
Mostrar la cita
no
Mostrar la cita
RAISEERROR
Mostrar la cita
objetoCommand.Execute,
Mostrar la cita
RETURN
Mostrar la cita
que
Mostrar la cita
+
Mostrar la cita
instrucciàfffàf,à,³n:
Mostrar la cita
la
Mostrar la cita
definida
Mostrar la cita
+
Mostrar la cita
instrucciàfffàf,à,³n:
Mostrar la cita
+
Mostrar la cita
instrucciàfffàf,à,³n:
Mostrar la cita
Ads by Google
Search Busqueda sugerida