Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 14-may-2008, 11:29   #1 (permalink)
cibermanz ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Sonrisa Ayuda con este error de SQL HELpppppp!!!

Hola que tal tengo un sp que estoy desarrollando pero cuando inserto me sale el siguiente error.Msg 208, Level 16, State 1, Procedure sp_InsCreaMensajePadrinos, Line 22
Invalid object name 'dbo.MensajesPadrinoLog'.
Msg 266, Level 16, State 2, Procedure sp_InsCreaMensajePadrinos, Line 22
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 46, current count = 47.


EL nombre de la tabla es el siguiente: dbo.MensajesPadrinoLog
los campos de la tabla son los siguientes:
==============================
idmensaje @@identity
idPadrino fk
idAbuelo fk
Mensaje
idTipoEstado
FechaMensaje

______________SP_______________
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON

go



alter procedure [dbo].[sp_InsCreaMensajePadrinos]

@Mensaje varchar(256),
@UserName varchar(50),
@retValor int output
as
declare @codigoPadrino bigint

declare @codigoAbuelo bigint

begin

begin tran


-- begin
-- SELECT @codigoPadrino = Padrino.idPadrino
-- FROM dbo.Padrino
-- INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
-- WHERE UserName =@UserName
-- end

insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo
-- Mensaje,
-- idTipoEstado,
-- FechaMensaje

)
values
(
2508,
45
-- 'kjkklkll',
-- 6,
-- getdate()

)
IF @@error = 0
BEGIN
commit tran
set @retValor= @@identity

END
ELSE
BEGIN
rollback tran

set @retValor= -1
end


end

________________________________


para ejecutarlo utilizo; sp_InsCreaMensajePadrinos '@Mensaje','ccxcx22',''
el error q me tira es el siguiente:
Msg 208, Level 16, State 1, Procedure sp_InsCreaMensajePadrinos, Line 22
Invalid object name 'dbo.MensajesPadrinoLog'.
Msg 266, Level 16, State 2, Procedure sp_InsCreaMensajePadrinos, Line 22
Transaction count after EXECUTE indicates that a COMMIT or ROLLBACK TRANSACTION statement is missing. Previous count = 47, current count = 48.



PORFAVOR NECESITO AYUDA COMO VERNA HE!!! COMENTADO ALGUNA LINEA PARA VER DONDE ME SALE EL ERROR PERO NO PUEDO DETECTARLO DESDE YA MUCHAS GRACIAS...
SALUDOS YO
cibermanz está desconectado   Responder Citando
Antiguo 14-may-2008, 11:37   #2 (permalink)
Colaborador
Andres95 tiene algunos puntos positivos de karma
 
Avatar de Andres95
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.114
Re: Ayuda con este error de SQL HELpppppp!!!

Primero que nada, si solo es una sentencia de modificacion de datos, no requieres de una transaccion explicita, sql server maneja automaticamente la operacion con una transaccion implicita.

Código:
alter procedure [dbo].[sp_InsCreaMensajePadrinos]
@Mensaje varchar(256),
@UserName varchar(50),
@retValor int output 
as
declare @codigoPadrino bigint
declare @codigoAbuelo bigint

-- begin
-- SELECT @codigoPadrino = Padrino.idPadrino
-- FROM dbo.Padrino 
-- INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
-- WHERE UserName =@UserName
-- end
insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo
-- Mensaje,
-- idTipoEstado,
-- FechaMensaje
)
values
(
2508,
45
-- 'kjkklkll',
-- 6,
-- getdate()
)

IF @@Error = 0
   set @retValor= @@identity
Else 
   set @retValor= -1
GO
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
Andres95 está desconectado   Responder Citando
Antiguo 14-may-2008, 11:44   #3 (permalink)
cibermanz ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Gente Del Mundo Encontre El Error

EL ERROR ERA Q NO ME HABIA CREADO EL SP CON EL NOMBRE ENTONCES JAMAS ME IBA ENCONTRAR EL OBJETO JAJAJ Q TONTO BUENO PASA
LE PASO EL COFIGO COMPLETO PARA Q VEAN COMO QUEDO SALUDOS ATTE
YO

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go



alter procedure [dbo].[sp_InsCreaMensajePadrinos]

@Mensaje varchar(50),
@UserName varchar(50),
@retValor int output
as
declare @codigoPadrino int
declare @codigoAbuelo int
begin

begin tran


SELECT @codigoPadrino = Padrino.idPadrino,@codigoAbuelo=Apadrina.idAbuelo
FROM dbo.Padrino
INNER JOIN Apadrina ON Padrino.idPadrino = Apadrina.idPadrino
WHERE UserName =@UserName

insert into dbo.MensajesPadrinoLog
(
idPadrino,
idAbuelo,
Mensaje,
idTipoEstado,
FechaMensaje
)
values
(
@codigoPadrino,
@codigoAbuelo,
@Mensaje,
6,
getdate()
)
IF @@error = 0
BEGIN
commit tran
set @retValor= @@identity

END
ELSE
BEGIN
rollback tran
set @retValor= -1
end
end
cibermanz está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:37.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93