ayuda con procedure
Publicado por yeni (146 intervenciones) el 23/08/2011 21:32:05
tengo un procedure en sql
en la cual hace el insert pero valida si existe antes de insertarlo
si existe me manda el mensaje de existe y si lo graab me manda el mensaje de listo
pero cuadno obtengo el valro del mensaje por visual basic 6
siempre em manda el mensaje de existe
PERO CUANDO LO EJECUTO POR ELMISMO SQL 2008
FUNCIONA PERFECTAMENTE
/////////////////////////////////////////////
EL PROCEDURE:
ALTER PROCEDURE MANT_SERIES
@OP VARCHAR(500)
,@TIPO_DOC VARCHAR(500)
,@SERIE VARCHAR(500)
,@NUMERO VARCHAR(500)
AS
BEGIN
IF (@OP='VIEW')
SELECT * FROM WALSERIES ORDER BY TIPO_DOC
ELSE IF (@OP='SAVE')
BEGIN
IF EXISTS(SELECT * FROM WALSERIES WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE)
SELECT 'OPERACION NO VALIDA'
ELSE
BEGIN
INSERT INTO WALSERIES VALUES(@TIPO_DOC,@SERIE,@NUMERO)
SELECT 'LISTO'
END
END
ELSE IF (@OP='UPDATE')
UPDATE WALSERIES SET NUMERO=@NUMERO WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE
ELSE IF (@OP='DELETE')
DELETE FROM WALSERIES WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE
END
///////////////////////////////////
VISUAL BASIC MODULO
Public Function Mostrar(var_select As String) As ADODB.Recordset
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
With cmd
.ActiveConnection = cone
.CommandType = adCmdText
.CommandText = var_select
.Execute
End With
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenDynamic, adLockPessimistic
Set Mostrar = rs
MSGBOX RS(0)
End Function
////////////////////////////////////////////
VISUAL BASIC FORMULARIO
SQL = "EXEC MANT_SERIES "
SQL = SQL & "'SAVE'," '@OP VARCHAR(500)
SQL = SQL & "'" & Combo1.Text & "'," ',@TIPO_DOC VARCHAR(500)
SQL = SQL & "'" & Text1(0).Text & "'," ',@SERIE VARCHAR(500)
SQL = SQL & "'" & Text1(1).Text & "'" ',@NUMERO VARCHAR(500)
CALL MOSTRAR(SQL)
en la cual hace el insert pero valida si existe antes de insertarlo
si existe me manda el mensaje de existe y si lo graab me manda el mensaje de listo
pero cuadno obtengo el valro del mensaje por visual basic 6
siempre em manda el mensaje de existe
PERO CUANDO LO EJECUTO POR ELMISMO SQL 2008
FUNCIONA PERFECTAMENTE
/////////////////////////////////////////////
EL PROCEDURE:
ALTER PROCEDURE MANT_SERIES
@OP VARCHAR(500)
,@TIPO_DOC VARCHAR(500)
,@SERIE VARCHAR(500)
,@NUMERO VARCHAR(500)
AS
BEGIN
IF (@OP='VIEW')
SELECT * FROM WALSERIES ORDER BY TIPO_DOC
ELSE IF (@OP='SAVE')
BEGIN
IF EXISTS(SELECT * FROM WALSERIES WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE)
SELECT 'OPERACION NO VALIDA'
ELSE
BEGIN
INSERT INTO WALSERIES VALUES(@TIPO_DOC,@SERIE,@NUMERO)
SELECT 'LISTO'
END
END
ELSE IF (@OP='UPDATE')
UPDATE WALSERIES SET NUMERO=@NUMERO WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE
ELSE IF (@OP='DELETE')
DELETE FROM WALSERIES WHERE TIPO_DOC=@TIPO_DOC AND SERIE=@SERIE
END
///////////////////////////////////
VISUAL BASIC MODULO
Public Function Mostrar(var_select As String) As ADODB.Recordset
Set cmd = New ADODB.Command
Set rs = New ADODB.Recordset
With cmd
.ActiveConnection = cone
.CommandType = adCmdText
.CommandText = var_select
.Execute
End With
rs.CursorLocation = adUseClient
rs.Open cmd, , adOpenDynamic, adLockPessimistic
Set Mostrar = rs
MSGBOX RS(0)
End Function
////////////////////////////////////////////
VISUAL BASIC FORMULARIO
SQL = "EXEC MANT_SERIES "
SQL = SQL & "'SAVE'," '@OP VARCHAR(500)
SQL = SQL & "'" & Combo1.Text & "'," ',@TIPO_DOC VARCHAR(500)
SQL = SQL & "'" & Text1(0).Text & "'," ',@SERIE VARCHAR(500)
SQL = SQL & "'" & Text1(1).Text & "'" ',@NUMERO VARCHAR(500)
CALL MOSTRAR(SQL)
Valora esta pregunta


0