none
Mostrar el error la validacion desde Store en un form RRS feed

  • Pregunta

  • Hola;

    Tengo un store que realiza una inserccion de datos, este tiene algunas validaciones

    ALTER PROCEDURE [dbo].[g_MeasureInsert]
    @code varchar(10),
    @description varchar(30)
    ,@userid int
    AS
    BEGIN
    DECLARE @Key   INT
    DECLARE @Status INT
    SET NOCOUNT ON
     
    SET @Status= 0
    EXEC @Key= spFolgenDB 'GC_Measure', 'measureKey', 'int'
    PRINT @Key
    	IF  @code IS NULL OR @code=''
    		BEGIN
    			SELECT -1 AS Clave, 'Debe proporcionar el Codigo, es un parametro obligatorio.' as Descripcion
    			RETURN(-1)
    		END 
    	
    	IF  @description IS NULL OR @description=''
    		BEGIN
    			SELECT -1 AS Clave, 'Debe proporcionar la Descripcion, es un parametro obligatorio.' as Descripcion
    			RETURN(-1)
    		END 
    	
    INSERT INTO GC_Measure(measureKey
    ,code
    ,description
    ,lastmoduser
    )
    VALUES (@Key
    ,@code
    ,@description
    ,@userid
    )
    SELECT @@ROWCOUNT
    		IF(@@rowcount=0)
    						BEGIN
    							SELECT -1 AS Error, 'No se pudo agregar el registro. Verifique los parametros' as Descripcion
    							RETURN(-1)
    						END
    					ELSE
    					BEGIN
    						SELECT 0 AS Clave, 'Transaccion exitosa' as Descripcion
    							RETURN(0)
    					END
    END

    como ven valida que se haya ingresado el codigo y la descripcion, ahora lo que necesito es que cuando caiga en un error por ejempo no se haya metido la descripcion, mande el error que esto mostrando alform o a un mensaje, podrian ayudarme con eso. El return -1 lo pongo para saber cuando que es un -1 mande el error.

    Alguna idea?


    velma kelly

    • Cambiado Enrique M. Montejo lunes, 20 de agosto de 2012 11:52 acceso a datos (De:Lenguaje VB.NET)
    viernes, 20 de julio de 2012 20:59

Todas las respuestas

  • pero porque no usas el

    RAISERROR (Transact-SQL)

    con este lanzar un error al codigo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 20 de julio de 2012 21:03
  • Hola, ya lo intente ysi me manda el error pero despues de eso pongo bien los datos y me manda un mensaje quedice SQLCONNECT no admite transacciones paralelas, y se cierra el sistema,  si lo abtengo mediante un catch despues de encontrara el error su mision es detener el sistema?.. podris orientarme con esto?, dejo el codigo.

        Private Sub frmMeasure_acepta() Handles Me.acepta, Me.ToUpdate
            Try
         
                Select Case MyBase.MySubUseCase
                    Case SubUseCaseEnum.ucAdd
                        If CType(Me.MySelf.cat, Almacen.Measure).Insert() > 0 Then
                            Me.MySelf.session.handleResx.LgrMsg("Generic", "SISS0046")
                        End If
                    Case SubUseCaseEnum.ucEdit
                        If CType(Me.MySelf.cat, Almacen.Measure).Update(CType(Me.MySelf.cat, Almacen.Measure).id) > 0 Then
                            Me.MySelf.session.handleResx.LgrMsg("Generic", "SISS0046")
                        End If
                End Select
                Me.Close()
            Catch ex As Exception
                Me.MySelf.session.handleResx.LgrMsg("SISTEMA", ex.Message.ToString, LgrGenerics.Generics.enImage.Critical, LgrGenerics.Generics.enStyle.Ok_WithImage)
            End Try
              End Sub


    velma kelly

    viernes, 20 de julio de 2012 23:04