
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
Y seguimos las indicaciones de la instalación.
tiene que ajustar este codigo de acuerdo a tu necesidad, pero tienes aqui la idea básica de como funciona.
Espero les siva. Saludos.
Debemos descargar y ejecutar este archivo batch. Sólo tarda unos pocos
segundos en ejecutarse y arregla un problema que hemos encontrado hace una
semana con la política de versiones de System.Web.Extension.dll – que es el
assembly que contiene a ASP.NET AJAX. Si no ejecutamos este archivo, entonces
los proyectos de ASP.NET 2.0 creados con ASP.NET AJAX 1.0 y VS 2005 usará la
versión que viene en la Beta 2 de .NET 3.5. Esto funcionará bien - pero
introduciremos una dependencia con .NET 3.5 en aplicaciones que creemos con VS
2005. La ejecución del archivo Batch la política de enlazado del assembly
System.Web.Extensions.dll y nos aseguraremos que sólo usaremos la versión
nueva de .NET 3.5 en los proyectos en los que usemos explícitamente .NET
3.5
Premisa: Tenemos una solución compuesta por un proyecto del tipo Sitio web y un proyecto del tipo Biblioteca de clases en donde estamos construyendo nuestra capa de datos y que hemos llamado DAL.
Queremos, desde la DAL, recuperar la conectionstring que está almacenada en el web.config del proyecto Sitio Web.
Solución: