
Espero les sirva
Saludos.
Un rincon informático donde encontrarás tips de configuración de PC, Base de Datos, Lenguajes de Programación, etc.
Si alguna de las operaciones de una transacción falla hay que deshacer la transacción en su totalidad para volver al
Si todas las operaciones de una transacción se completan con
Otra sentencia muy útil es GOTO, el cual nos permite ejecutar un camino alternativo de existir un error o una condición no cumplida, en SQL Server 2005 existe una nueva funcion de TRY y CATCH (el cual trataremos en otro Post).
Bueno aqui les muestro un ejemplo de como utilizarla en SQL Server (en mi caso SQL Server 2000).
ALTER PROCEDURE [DBO].[SP_Biotoscana_PreAviso]
@ACCION INT = 0,
@ERRORID INT OUTPUT,
@MSGReturn INT OUTPUT,
---------------------------------------------------------
@IDLINEA CHAR(5) = '1',
@IDPROD CHAR(30) ='',
@DESTINO CHAR(10) = '',
@LOTE CHAR(25) = '',
@FECVENC SMALLDATETIME = NULL,
@NUMOC CHAR(10) = '',
@NUMIMP CHAR(10) = '',
@PAIS CHAR(3) = '',
@CANTIDAD FLOAT = 0,
@UNIDAD CHAR(10) = '',
@PRECUNIT FLOAT = 0,
@MONEDA CHAR(4) = '',
---------------------------------------------------------
@NUMREF CHAR(15) = '',
@TIPOCOMPRA VARCHAR(15) = '',
@RUTPROV VARCHAR(100) = ''
AS
BEGIN
DECLARE @CORR CHAR(10)
SET @CORR = ''
IF @ACCION = 1
BEGIN
BEGIN TRAN
SET @CORR = (SELECT Lastbatnbr7+1 from SETUPWEB)
SET @MSGReturn = CAST((SELECT Lastbatnbr7+1 from SETUPWEB) AS INT)
update SETUPWEB set Lastbatnbr7= @CORR
INSERT INTO PRE_WEBHEADER (
CodLab,Corr, Crtd_DateTime, Crtd_Prog, Crtd_User,
Lupd_DateTime,Lupd_Prog,Lupd_User,NoteId,
RefLab,Status,TranType,VendId
) VALUES (
'49', @CORR,GETDATE(),'INTZ', 'NFS',
GETDATE(),'INTZ', 'NFS', 0,
@NUMREF, 'H',@TIPOCOMPRA,@RUTPROV
)
INSERT INTO PRE_WEBLINE
(
Corr,Crtd_DateTime,Crtd_Prog, Crtd_User,
CuryId,ExpDate,InvtId, LineRef,
LotSerNbr, Lupd_DateTime, Lupd_Prog,Lupd_User,
OrdNbr,OpenLine,Pais,QtyOrig,RefNbr,SiteId,
ShipperId,Status_Muestreo,TranDate,Unid,UnitPrice, QtyRcvd
)
VALUES
(
@CORR, GETDATE(), 'INTZ', 'NFS',
@MONEDA,@FECVENC,@IDPROD,@IDLINEA,
@LOTE,GETDATE(), 'INTZ', 'NFS',
@NUMOC, 'A', @PAIS,@CANTIDAD,@NUMREF, @DESTINO,
@NUMIMP,0, GETDATE(), @UNIDAD,@PRECUNIT, 0
)
SELECT @ERRORID = @@ERROR
IF (@ERRORID <> 0) GOTO PROBLEM
COMMIT TRAN
PROBLEM:
IF (@ERRORID <> 0) BEGIN
ROLLBACK TRAN
END
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
Espero que sea de ayuda. Saludos.
Hola amigos! Aqui publico el código que utilizé hace unos días para poder enviar e-mail desde mi aplicacion en C#.
Lo primero, tenemo
using System.Net.Mail; |
Una vez hecho esto, nos creamos el objeto que enviara el mail:
MailMessage objMail; |
Ahora empezamos a rellenar los datos necesarios. Vamos a incorporar un destinatario del correo, la dirección desde la que se envía, un email en copia, otro en copia oculta y un fichero adjunto:
//'Creamos el objeto del correo |
Indicamos un asunto:
objMail.Subject = "Asunto"; |
Y añadimos el contenido:
objMail.Body = "contenido"; |
Aquí podemos indicar si debe mantener un formato de HTML o no:
objMail.IsBodyHtml = true; //Formato Html del email |
Le añadimos un adjunto
objMail.Attachments.Add(new Attachment(Adjunto)); |
OJO: tiene que ser la ruta absoluta del fichero, no la relativa.
Ahora que tenemos el contenido del mensaje, establecemos los datos del servidor de correo:
SmtpClient SmtpMail = new SmtpClient(); |
Añadimos las credenciales si hace falta:
SmtpMail.Credentials = |
Y ya solo nos queda enviar el e-mail:
SmtpMail.Send(objMail); //Enviamos el correo |
Y con eso estamos listos!!! espero les sirva.
Saludos.
y el resultado de la operacion será: 0000002002